2012年计算机二级考试Java容器组件学习教程.doc
内容介绍
2012年计算机二级考试Java容器组件学习教程 ,2012年计算机二级考试Java容器组件学习教程。欢迎下载!
第8章Swing组件 在第7章中,介绍了用AWT创建图形用户界面的基本原理。
在java.awt包中,提供了各种具体的组件,如Frame、Panel、Button、Label等。
AWT组件的优点是简单、稳定,同时兼容于任何JDK版本,缺点是依赖于本地操作系统的GUI,缺乏平台的独立性。
为了实现跨平台,使得用java创建的图形界面在不同操作系统中保持相同的外观,从JKD1.2版本开始引入了Swing组件,这些组件位于javax.swing包中,SwingGUI组件定义了相对于java.awt包更多、更强的功能,可以使用户更加灵活方便的进行GUI的设计。
Swing组件时用纯Java语言编写的,不依赖于本地操作系统的GUI,Swing组件可以跨平台运行。
独立于本地平台的Swing组件被称为轻量级组件,而依赖于本地平台的AWT组件被称为重量级组件。
多数Swing组件的父类为javax.swing.JComponent,JComponent的直接父类为java.awt.Container,与AWT中的Window与Panel处于同一个继承类层次。
多数Swing组件类都是以大写字母"J"开头,图8-1显示了Swing组件的类层次结构。
从图中可以看出,除JFrame外,其余的Swing组件都继承自JComponent类。
图8-1Swing组件的类层次结构 8.1容器组件 8.1.1JFrame JFrame是用来替代AWT包中Frame的,可以实现与Frame相同的功能,包括作为容器容纳其他组件,显示组件等。
[例8-1] importjavax.swing.*; importjava.awt.*; classJFrameTestextendsJFrame{ privateJButtonbutton1=newJButton("button1"); privateJButtonbutton2=newJButton("button2"); publicJFrameTest(Stringtitle){ super(title);//设置标题 this.setBounds(50,50,200,150); //获得与JFrame关联的contentPane,contentPane默认的布局管理器是BorderLayout ContainercontentPane=this.getContentPane(); contentPane.setLayout(newFlowLayout(5)); contentPane.add(button1); contentPane.add(button2); this.setVisible(true); //设置JFrame对关闭按钮的处理方式 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } publicclassTest8_1{ publicstaticvoidmain(String[]args){ newJFrameTest("JFrame测试"); } } 程序运行界面如下: 图8-2例8-1运行界面 利用JFrame实现了与Frame相同的功能,但JFrame与Frame在使用上还是有很大区别的。
(1)两者都可以添加其他组件到窗口中,Frame直接使用add方法添加相应的组件;JFrame则不能直接通过add方法添加组件,每个JFrame都有一个与之关联的内容面板(contentPane),只能针对这个contentPane添加相应组件。
(2)两者都可以设置布局管理器,Frame直接使用setLayout即可设置;JFrame则需先得到其内容面板,对其内容面板设置布局管理器。
(3)Frame要想关闭窗口需要编写相应的事件处理程序(见例7-1
下载地址
进入下载页
文件大小
87.0KB
上传作者
大山
文件类型
.doc
