文档详情

Java语言程序设计 教学课件 作者 辛运帏 饶一梅 第八章.ppt

发布:2017-08-16约1.14万字共50页下载文档
文本预览下载声明
第8章 图形用户界面设计 图形用户界面 图形用户界面(Graphical User Interface,简称GUI)是人机交互接口,它是应用程序的外观。 Java语言提供了一套用来构建用户界面的组件(component),包括面板(Panel)、按钮(Button)、标签(Label)、画板(Canvases)、滚动条(Scrollbar)、列表框(List)、文本域(TextField)、文本区(TextArea)等。 AWT与Swing 早期的JDK版本中提供的是Java抽象窗口工具集(Abstract Window Toolkit,简称AWT),相应的组件定义在java.awt包中。 在后续的JDK版本中,又提供了功能更强的Swing。 Swing属于JavaTM Foundation Classes(简称JFC)的一部分。Swing组件则定义在javax.swing包中。 AWT包 AWT中包含的主要类及相互的继承关系如图: Swing包 Swing包中主要的类与继承关系如图所示 AWT包与Swing包 Swing对AWT的改进主要的是体现在平台无关性上。Swing称为轻量级(lightweight)组件,在实现时可以完全不依赖于本机环境。所以使用Swing组件的程序移植性更好。 AWT组件称为重量级(heavyweight)组件,是指它含有较多的本机代码,平台无关性不彻底,不便于程序移植。 组件和容器 组件是构成图形用户界面最基本的元素。组件的级别是不同的,有些组件是最顶层的组件,可以在界面窗口内直接显示。有一些组件不能单独存在,它们必须被加入到某个组件中才能显示。能够容纳其他组件的组件称为容器(container),有了容器,就可以构造嵌套关系的组件架构,从而形成复杂的窗口界面。 设计程序时,最外层的组件必须是容器,这些容器称为顶层容器。Swing中共有四种顶层容器,分别为JFrame、JApplet、JDialog和JWindow。 窗口简单示例 程序8-1 窗口简单示例 import java.awt.*; import javax.swing.*; public class JFrameDemo1 { public static void main(String args[]) { JFrame frame = new JFrame(JFrame); //创建一个JFrame的实例 JButton button = new JButton(A Frame); //创建一个JButton的实例 //将JButton放到JFrame的中央 frame.getContentPane().add(button); frame.pack(); //将JFrame设置到适当的大小 frame.setVisible(true); //显示JFrame } } 窗口简单示例 该程序运行之后,弹出的窗口如图8-3所示,窗口中有一个按钮。 内容窗格 Swing的顶层容器是不能直接添加组件的。每个顶层容器都有一个内容窗格(Content Pane),也称为内容面板。除菜单之外的组件都需要放在这个内容窗格中,通过getContentPane()方法得到一个内容窗格。既可以直接调用顶层容器的add()方法,也可以调用内容窗格的add()方法来添加组件。 每种顶层容器都有默认的内容窗格,也可以创建一个新的内容窗格取代顶层容器默认的内容窗格。 内容窗格 当创建一个新的内容窗格时,通常的做法是创建面板JPanel的一个实例(JPanel是java.awt.Container的子类),然后将组件添加到JPanel实例中,再通过顶层容器的setContentPane()方法将JPanel实例设置为新的内容窗格。 修改程序8-1,创建新的内容窗格并添加组件。(见下一页) 内容窗格的完整程序 程序8-2创建新的内容窗格的完整程序 import java.awt.*; import javax.swing.*; public class JFrameDemo2 { public static void main(String args[]) { JFrame frame = new JFrame(JFrameDemo2); //创建一个JFrame的实例 JButton button = new JButton(A Button); //创建一个JButton的实例
显示全部
相似文档