Java语言程序设计 作者 李尊朝 苏军 第12章.ppt
文本预览下载声明
第十二章 Swing 组件 12.1 Swing组件概述 12.2 窗口 12.3 标签 12.4 按钮 12.5 单选按钮和复选框 12.6 文本编辑组件 12.7 列表框和组合框 12.8 菜单 12.1 Swing组件概述 早期的JDK版本中提供了Java抽象窗口工具集(Abstract Window Toolkit, AWT),其目的是为程序员创建图形用户界面提供支持,但是AWT功能有限,因此在后来的JDK版本中,又提供了功能更强的Swing类库。 12.1 Swing组件概述 Swing包含了大部分与AWT对应的组件 。多数Swing组件以字母“J”开头。 Swing组件的用法与AWT组件基本相同,大多数AWT组件只要在其类名前加J即可转换成Swing组件 。 java.swing中类的继承关系 Swing组件与AWT组件最大的不同是,Swing组件在实现时不包含任何本地代码,因此Swing组件可以不受硬件平台的限制,而具有更多的功能。 Swing组件比AWT组件拥有更多的功能。 Swing库是抽象窗口工具AWT库的扩展,提供了比AWT更多的特性和工具,用于建立更复杂的图形用户界面。 12.2 窗口 基于Swing组件的图形用户界面,采用JFrame框架作为容器。 JFrame类是从Frame类派生的。 JFrame的构造方法 JFrame的成员方法 每个JFrame窗口都有一个内容窗格(contant pane),窗口中除菜单之外的所有组件都放在其内容窗格中。 要将组件添加到其内容窗格中,首先用JFrame类的getContentPane()方法获得其缺省的内容窗格,getContentPane()方法的返回类型是java.awt.Container,然后使用add()方法将组件添加到其内容窗格中。这与在Frame窗口中直接使用add()方法添加组件明显不同。 12.3 标签 Swing中的标签组件JLabel与AWT中标签组件Label相似,可以显示文本。 JLabel组件还可以显示图标,当鼠标的指针移动到标签上时,还会显示一段提示信息。 JLabel的构造方法 JLabel的成员方法 12.4 按钮 在Swing中,所有按钮都是由AbstractButton类派生的。 Swing中按钮的功能较AWT中的按钮功能更加强大,包括给按钮添加图像、使用快捷键以及设置按钮的对齐方式,还可以将多个图像分配给一个按钮以处理鼠标在按钮上的停留等。 JButton类的构造方法 12.5 单选按钮和复选框 在Swing中,单选按钮JRadionButton用来显示一组互斥的选项。在同一组单选按钮中,任何时候最多只能有一个按钮被选中。一旦选中一个单选按钮,以前选中的按钮自动变为未选中状态。 要让多个单选按钮位于同一组,必须使用按钮组类ButtonGroup。ButtonGroup是java.swing包中的类,但不是JComponent的子类。 调用ButtonGroup类的add()方法可以将一个按钮添加到一个ButtonGroup对象中。 JRadioButton类的构造方法 Swing单选按钮举例 编程实现:窗口中有标题为Plain、Bold和Italic的3个单选按钮和1个标签,当选择任一单选按钮时,标签中显示该单选按钮被选中的信息。 Swing单选按钮举例 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JRadio extends JFrame { private JLabel lbl; private JRadioButton pla, bol,ita; private ButtonGroup buttonG; public JRadio() { super(JRadioButton Example); Container c = getContentPane(); c.setLayout( new FlowLayout() ); lbl=new JLabel(Plain is selected); pla=new JRadioButton(Plain,true); bol=new JRadioButton(Bold,false); ita=new JRadioButton(Italic
显示全部