不乱于心,不困于情,不念过去,不惧将来
SWING
- swing库是AWT(Abstract Windowing Toolkit)的一个扩展,AWT是java 1.0为支持图形编程而提供的一个包。在功能方面,Swing在其前身的基础上做了很多改进:新组件,扩展的组件特性,更好的时间处理功能和可选择的外观.
- Swing组件不同于AWT,它是完全由java实现的,这使得它比AWT具有更好的跨平台兼容性。
- Swing的所有成员都是javax.swing包的一部分,使用swing,需要先用import导入上述包。
- Swing能够让我们使用操作系统的风格或者新的风格来创建java程序的界面。
swing组件分类
- 顶层容器:JFrame、JApplet、JDialog、JWindow共4个
- 中间容器:JPanel、JScrollPane、JSplitPane、JToolBar
- 基本控件: ImageIcon(图标),JLabel(标签),ITextField(文本框),JTextArea(文本区域),JScrollPane(可滚动窗格),JScrollBar(滚动条),ICheckBox(复选框),JRadioButton(单选按钮),JComboBox(下拉式列表和组合框)。
3、JRootPane包含有GlassPane 与 Layered Pane,而Layered Pane又包含有ContentPane与Menu Bar,其中程序设计者可选择是否使用MenuBar,若没有使用Menu Bar,则ContentPane就会占据整个版面。
4、GlassPane:它是一个透明的面版,主要功能是它或以捕获JFrame上的任何事件。GlassPane的默认值是不可看见的,不过可以将它设为看见的(visible),例如若要在GlassPane上做绘图的工作,就可以在GlassPane上显示出来!
5、四个上层组件类中都有一个默认容器为rootPane,rootPane是JRootPane类型的,但JRootPane类型并不算是真实的容器,我们不能在JRootPane上加入任何的组件!要加必须加在LayeredPane或者是LayeredPane 里的ContentPane上。
6、LayeredPane:它是一个可以重叠组件的面版,本身就是一个容器,可以将它看成是相当多层的置物架,每一层都可以放置物品,而且上面的物品会遮隹下面的物品。
7、ContentPane:是最重要的,且是最常到的容器。它是LayeredPane中的一层,一般视为最底层。通常我们会将组件放在ContentPane上,而不会加在LayeredPane中,因为若将组件加入LayeredPane中必须自选管理组件间层次的关系,这会加重程序维护的困难度。若将组件放入ContentPane,对于像工具栏(ToolBar),PopupMenu等组件,Java会自动高速其层次关系。
创建界面
- 要创建Swing应用程序,首先要创建一个表示图形界面的类。这个类的对象将被用作容器,用于放置要显示的其他组件。
- 在大多数情况下,主界面是一个简单的窗口(JWindow)或者是一个叫做框架的界面(JFrame类)。
- 窗口(JWindow)是一个容器,可被显示到用户界面上。简单窗口没有标题栏,最大化,最小化,和关闭按钮,也没有图形用户界面操作系统的窗口中最常用的其他元素。包括这些创口管理特性的窗口被称为框架(JFrame)。
创建图形swing应用程序的方式
- 把界面声明为JFrame或JWindow的子类
- 在该类的构造方式中调用父类的构造方法来处理其设置。JFame有两个构造函数JFrame(),JFrame(String),后者字符串为标题栏。
- 设置框架窗口的大小,单位为像素,调用其setSize方法设置框架窗口的大小,单位为像素,调用其setSize方法。
- 决定窗口关闭窗口时如何办决定窗口关闭窗口时如何办。每个框架的标题栏都有最大化,最小化,和关闭按钮,在java中,当框架被关闭时,正常情况下是让程序继续执行这样必须调用框架的方法setDefaultCloseOperation(),这个方法有四种参数:EXIT_ON_CLOSE:框架被关闭时退出程序;DISPOSE_ON_CLOSE:框架被关闭时,释放框架对象并继续运行应用程序;DO_NOTHING_ON_CLOSE:打开框架窗口并继续运行程序;HIDE_ON_CLOSE:关闭框架窗口,并继续运行程序。
- 显示框架显示框架 如果希望框架被创建后便显示出来,可在构造方法中调用setVisible(true)或show()。
运行结果
- 当建立一个JFrame组件时,系统会为此JFrame建立JRootPane组件,我们就可以任意地取得JRootPane上的GlassPane , Layered Pane或ContentPane,然后进行其它的操作。
swing组件
- 使用swing组件实际上是使用该组件的对象,我们可以通过调用构造方法来创建组件,然后调用相应的方法来正确的设置组件。
- 所有的swing组件都是抽象类JComponent的子类,后者包含用于设置组价大小,修改背景颜色,定义文本字体以及设置工具提示的方法。
创建组件其实就是创建该组件的对象,调用该组件的构造方法即可。
使用组件
所有的swing组件都是抽象类JComponent的子类。所有的组件均从JComponent继承了很多方法,常用方法有:
在旧版中,swing组件不能直接添加到顶层容器上,必须添加到一个与Swing顶层容器相关的内容面板(content pane)上才能被显示到用户界面。
而新版本的JDK,直接在JFrame中可以调用add(组件)来添加组件,组件将被添加到contentPane。
按钮
button的常用方法
运行结果
标签(Jlabel)
- 标签是一个包含说明性文本,图标,或两者都有的用户组件。可以使用Jlabel来创建标签,它通常用来说明界面上其他组件的用途。用户不能直接编辑
常用方法
文本框(JTextField)
- 文本框是界面上的一块区域,用户可以通过键盘输入,修改其中的内容,文本框能够处理一行的内容。
方法
运行结果
文本区域(JTextArea)
滚动条(JScrollBar)
- 滚动条让用户能够选择大型区域的一部分,已查看其他的内容;通常用于行数很多,无法再图形用户界面中同时全部显示出来的文本区域;
- 用户可以通过拖动两个箭头之间的滚动快来移动特定的位置。用户单击箭头时,可移动较小的距离,在箭头和滚动快之间单击时,可移动较大的区域。
- 有些Swing组件内置了滚动条功能,这包括可滑动窗格和列表框,也可单独创建滚动条。
方法
可滚动窗格
- Swing中的文本区域是不包含水平滚动条和垂直滚动条,单独使用这种组件时,无法加入水平滚动条和垂直滚动条
- Swing增加了一种新的容器:JScrollPane,可用来放置任何可滚动的组件,在可滚动窗格的构造方法中,可以将其与组件关联起来
- 滚动条可以使用ScrollPaneConstants的静态类变量来设置。
使用方法
复选框(JCheckBox)和单选按钮(JRadioButton)
(JCheckBox和JRadioButton的方法完全一致)
- 复选框和单选按钮通常是非互斥的,即如果一个容器中有五个复选框,五个可以同时选中或不选中;为了使单选框互斥,必须将相关的组件分组。
- 要将多个单选按钮组织成一组,只允许每次选中其中一个,可以创建一个ButtonGroup对象。
下拉式列表和组合框(JComboBox)
- JComboBox可创建两种用户界面组件:下拉式列表和组合框
- 下拉式列表(也叫选择列表)让用户能够选择列表中的一项。列表可被配置成仅当用户单击组件时才显示,这样在图形用户界面占用的空间将更小。
- 组合框是有附加特性的下拉式列表:有一个文本框,可用来提示响应信息。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/1611.html