AP计算机科学A(APcomputer science A)复习备考攻略视频教程
43770 人在学
Java Swing(用户界面开发包)是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT的功能进行了大幅度的扩充。简单的说就是Swing是awt的扩展以及改良。下面我们会对Swing中容器类以及Swing组件进行简单的介绍,先去了解这些组件的用处。
Swing容器类
顶级容器
JApplet:小应用程序类,需要依靠浏览器执行。
JFrame:带有标题以及边框的顶级容器。
JDialog:用于创建对话框的窗体(弹出窗口)。
JWindows:可以显示在用户桌面的任何位置,但没有标题栏和窗口管理按钮(其使用价值不大)。
中级容器
JPanel:就是一个矩形区域,其中可以包含图形组件,也可以 包含其他JPanel。
JScrollPane:一种可以实现水平或者垂直滚动条的容器。
JTooIBar:是一种存放组件的特殊容器。可以用作程序中的可拖拽的工具栏。
JFrame
JFrame是java.awt.Frame类的扩展,是在创建Swing程序时用得最多的最底层容器(因为在添加其他组件或者容器的时候,都是添加到JFrame中)。
创建JFrame容器的步骤:
1.让用户自定义类先继承JFrame。
2.然后在自定义类的构造方法中对该窗体进行初始化,可以进行大小、初始位置的设置。
3.最初始化的最后位置要主动的将窗体设置为可见,不然运行程序将不会出现。
4.setDefaultColseOption(EXIT_ON_CLOSE)方法能帮助你关闭整个窗体线程。不然的话用户点击关闭按钮,窗口关闭之后窗体线程还在后台运行。
JDialog
Dialog容器提供了对话框功能。该容器使用的不是很多,我们通常使用JOptionPane.showConfirmDialog(this, “XXXX")。这样会在弹出对话框显示"XXXX"。
下面的代码举例了使用JDialog如何输入文本:
JPasswordField p = new JPasswordField();
Object[] message = {"请输入密码:", p};
int r = JOptionPane.showConfirmDialog(this, message, "系统",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);
这样子就会把在对话框中所输入的密码传递到r中。
JPanel
javax.swing.JPanel类是一个普通的矩形,缺少JFrame容器的标题和边框。通常和JFrame配合使用,增大窗体布局的灵活性。现将组件添加到JPanel容器,再将JPanel容器添加到JFrame容器。
JScrollPane
为组件或者容器添加滚动条。如下图:
Swing组件
JLabel:标签,通常用来标识另一个组件的含义。
JTextField:单行文本域。
JButton:按钮。
JCheckBox:多选框,
JRadioButton:单选框。
JList:下拉列表。
JProgressBar:进度条。简单的程序输出进度的变化。
JLabel
JLabel lb = new JLabel("组件和事件处理");
JTextField
直接举例,简单的在Frame中添加一个JTextField:
JButton
和JTextField的添加方法一样,结果示例:
JList
当使用JList进行构建时,创建选项的字符串数组,然后利用JList进行构建,即可。默认的下拉列表没有滚动条,我们必须将下拉列表作为参数利用JScrollPane进行创建。
例子:
布局管理器
BorderLayout:东南西北中布局(North South East West Center),规律是容器发生变化时,组件相对位置不变,但是组件大小会改变。
FlowLayout:流布局,规律为组件由上到下,从左到右放置。当容器发生变化时,组件代销不变,相对位置改变。
GridLayout:网格布局,平均占据容器的空间。
CardLayout:卡片布局,让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件叠在一起,初始时显示该空间中第一个添加的组件。
GridBagLayout:包布局,是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直、水平或沿它们的基线对齐。
本文对Java Swing中的顶级容器、中级容器、组件以及布局管理器的概念进行了简单的说明。并没有把如果进行使用的代码放上去,只是简单的说了一些。希望初学者能通过本文对于Java Swing中的各种概念先进行掌握,理解了以后才更好的去学习代码的使用。