1. 面板组件(JPanel)
(1)介绍。
在图形用户界面编程中,如果只是普通的组件布局,那么用前面讲的三种布局管理器就可以解决,但当布局要求比较复杂时,就需要使用布局管理器的组合使用。
(2)使用。
JPanel:面板组件,非顶层容器,一个界面只可以有一个JFrame 窗体组件,但可以有多个JPanel 面板组件,而JPanel 上也可以使用FlowLayout、BorderLayout、GirdLayout 等各种布局管理器,这样可以组合使用达到较为复杂的布局效果。
JScrollPane 类的常用构造方法如表9-7 所示。
表9-7 JScrollPane 类的常用构造方法
表9-7 中列出了JScrollPane 的三种构造方法,其中,第一种构造方法用于创建一个空的JScrollPane 面板;第二种构造方法用于创建显示指定组件的JScrollPane 面板,这两种方法都比较简单;第三种构造方法是在第二种构造方法的基础上指定滚动条策略。如果在构造方法中没用指定显示组件和滚动条策略,也可以使用JScrollPane 提供的方法进行设置,如表9-8所示。
表9-8 没用指定显示组件和滚动条策略时可使用的构造方法
表9-9 JScrollPane 滚动策略常量值
【例9.17】下面通过案例来演示一下如何向中间容器添加按钮,如文件9-17 所示。
文件9-17 Example17.java
执行结果
图9.17 【例9.17】执行结果
2. 文本组件
文本组件用于接收用户输入的信息或向用户展示信息,其中包括文本框(JTextField)、文本域(JTextArea)等,它们都有一个共同父类JTextComponent。JTextComponent 是一个抽象类,它提供了文本组件常用的方法,如表9-10 所示。
表9-10 列出了几种对文本组件进行操作的方法,其中包括选中文本内容、设置文本内容以及获取文本内容等。由于JTextField 和JTextArea 这两个文本组件都继承了JTextComponent类,因此它们都可使用表9-8 中的方法,但它们在使用上还有一定的区别。接下来就对这两个文本组件进行详细讲解。
表9-10 文本组件常用的方法
(1)文本框(JTextField)。
JTextField 称为文本框,它只能接收单行文本的输入。JTextField 类的常用构造方法如表9-11 所示。
表9-11 JTextField 类的常用构造方法
(2)文本域(JTextArea)。
JTextArea 称为文本域,它能接收多行文本的输入,使用JTextArea 构造方法创建对象时可以设定区域的行数、列数。JTextArea 类常用构造方法如表9-12 所示。
表9-12 JTextArea 类常用构造方法
表9-12 中列出了四种JTextArea 的构造方法,在创建文本域时,通常会使用最后两种构造方法,指定文本域的行数和列数。
3. 几个常用组件
在图形用户界面编程中,我们常常会提供用户登录界面,比如登录到会员管理系统,登录到工资管理系统、仓库管理系统等,这时候就会用到以下几个常见组件。
① 文本框(JTextField)。
② 密码框(JPasswordField)。
③ 标签(JLable)。
【例9.18】下面编写一个聊天窗口,演示文本组件JTextField 和JTextArea 的使用,如文件9-18 所示。
文件9-18 Example18.java
执行结果
图9.18 【例9.18】执行结果
Swing 中提供了用于仅供展示的标签组件。标签组件主要用到的是JLabel 组件。JLabel组件可以显示文本、图像,还可以设置标签内容的垂直和水平对齐方式。常用的构造方法如表9-13 所示。
表9-13 JLabel 组件的构造方法:
【例9.19】下面通过一个案例来演示创建一个JLabel 标签组件,用来展示图片,请查看文件9-19。
文件9-19 example19.java
执行结果
4. 按钮组件(www.xing528.com)
在Swing 中,常见的按钮组件有JButton、JCheckBox、JRadioButton 等,它们都是抽象类AbstractButton 类的直接或间接子类。在AbstractButton 类中提供了按钮组件通用的一些方法,如表9-14 所示。
表9-14 按钮组件的通用方法
(1)JCheckBox 组件。
JCheckBox 组件被称为复选框,它有选中(是)/未选中(非)两种状态,如果用户想接收的输入只有“是”和“非”,则可以通过复选框来切换状态。如果复选框有多个,则用户可以选中其中一个或者多个。
表9-15 列举了创建JCheckBox 对象时常用的构造方法。
表9-15 JCheckBox 类的常用构造方法
表9-15 列出了用于创建JCheckBox 对象的三种构造方法。其中,第一种构造方法没有指定复选框的文本信息以及状态,如果想设置文本信息,可以通过调用JCheckBox 从父类继承的方法来进行设置。例如调用setText(String text)来设置复选框文本信息,调用setSelected(boolean b)方法来设置复选框状态(是否被选中),也可以调用isSelected()方法来判断复选框是否被选中。第二种和第三种构造方法都指定了复选框的文本信息,而且第三种构造方法还指定了复选框初始化状态是否被选中。
(2)复选框与单选框组件。
在图形用户界面编程中,常常会提供用户注册界面,这时候就会用到几个常用组件:① 复选框组件(JCheckBox);
② 单选框组件(JRadioBuutton)。
特别说明:
同一组单选按钮必须先创建ButtonGroup,然后把单选框组件放入ButtonGroup 中。【例9.20】下面通过一个案例来演示JCheckBox 组件的用法,如文件9-20 所示。
文件9-20 Example20.java
执行结果
图9.19 【例9.20】执行结果
(3)JRadionButton 组件。
JRadioButton 组件被称为单选按钮,与JCheckBox 复选框不同的是,单选按钮只能选中一个。就像随身听上的播放和快进按钮,当按下一个按钮时,先前按下的按钮就会自动弹起。对于JRadioButton 按钮来说,当一个按钮被选中时,先前被选中的按钮就会自动取消选中。
由于JRadioButton 组件本身并不具备这种功能,因此,若想实现JRadioButton 按钮之间的互斥,需要使用javax.swing.ButtonGroup 类。它是一个不可见的组件,不需要将其增加到容器中显示,只是在逻辑上表示一个单选按钮组。将多个JRadioButton 按钮添加到同一个单选按钮组对象中,就能实现按钮的单选功能。表9-14 列举了创建JRadioButton 对象常见的构造方法。
表9-14 JRadioButton 类的常用构造方法
【例9.21】下面通过一个案例来演示JRadioButton 组件的用法,如文件9-21 所示。
文件9-21 Example21.java
执行结果
图9.20 【例9.21】执行结果
5. JComboBox 组件
JComboBox 组件被称为组合框或者下拉列表框,它将所有选项折叠收藏在一起,默认显示的是第一个添加的选项。当用户单击组合框时,会出现下拉式的选择列表,用户可以从中选择其中一项并显示。
JComboBox 组合框组件分为可编辑和不可编辑两种形式。对于不可编辑的组合框,用户只能在现有的选项列表中进行选择;对于可编辑的组合框,用户既可以在现有的选项中选择,也可以自己输入新的内容。需要注意的是,自己输入的内容只能作为当前项显示,并不会添加到组合框的选项列表中。表9-15 列举JComboBox 类的常用构造方法。
表9-15 JComboBox 类的常用构造方法
在使用JComboBox 时,需要用到它的一些常用方法,如表9-16 所示。
表9-16 JComboBox 的常用方法
在图形用户界面编程中,常常会提供用户调查界面,这个时候会用到:
① 下拉框组件(JComboBox);
② 列表框组件(JList);
③ 滚动窗格组件(JScrollPane)。
特别说明:
一般来说,列表框组件+滚动窗格组件是结合使用的,目的是让列表框中的选项可以有滚动条支持。
【例9.22】下面通过一个案例来演示JComboBox 组件的具体用法,如文件9-22 所示。
文件9-22 Example22.java
执行结果
图9.21 【例9.22】执行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。