Java GUI(二)

简介: Java GUI(二)

Swing

Swing组件

大部分的Swing组件都是JComponent类的直接或者间接子类

JComponent类是AWTjava.awt.Container的子类


JFrame

JFrameFrame一样是一个独立存在的顶级窗口,不能放置在其它容器之中

JFrame支持通用窗口所有的基本功能,例如窗口最小化、设定窗口大小等等

中间容器

常见的中间容器:JPanel和JScrollPane


Jpanel


一个无边框,不能被移动、放大、缩小或者关闭的面板。


默认布局管理器是FlowLayout。也可使用构造函数JPanel(LayoutManager layout)或者它的setLayout()方法为其制定布局管理器。

文本组件

文本组件用于接收用户输入的信息或向用户展示信息,其中包括文本框(JTextField)、文本域(JTextArea)

它们都有一个共同父类JTextComponentJTextComponent是一个抽象类,它提供了文本组件常用的方法

JTextField:文本框,接收单行文本的输入

JTextArea:文本域,能接收多行的文本的输入

按钮组件

按钮组件JButtonJCheckBoxJRadioButton等都是抽象类AbstractButton类的直接或间接子类

AbstractButton类中提供了按钮组件通用的一些方法

JCheckBox组件被称为复选框,它有选中()/未选中()两种状态,如果用户想接收的输入只有“是”和“非”,则可以通过复选框来切换状态。如果复选框有多个,则用户可以选中其中一个或者多个。

JRadioButton组件被称为单选按钮,单选按钮只能选中一个,当一个按钮被选中时,先前被选中的按钮就会自动取消选中


JComboBox

JComboBox组件被称为组合框或者下拉列表框,它将所有选项折叠收藏在一起,默认显示的是第一个添加的选项。当用户点击组合框时,会出现下拉式的选择列表,用户可以从中选择其中一项并显示。创建JComboBox对象的构造方法如下所示

菜单

菜单组件

菜单组件分为下拉式菜单和弹出式菜单

下拉式菜单包括

JMenuBar(菜单栏)  水平的菜单栏,它用来管理菜单,不参与同用户的交互式操作。

JMenu(菜单)  菜单,它用来整合管理菜单项。菜单可以是单一层次的结构,也可以是多层次的结构。

JMenuItem(菜单项) 菜单项,它是菜单系统中最基本的组件。

创建下拉式菜单的步骤如下所示


创建一个JMenuBar菜单栏对象,将其放置在JFrame窗口的顶部


创建JMenu菜单对象,将其添加到JMenuBar菜单栏中


创建JMenuItem菜单项,将其添加到JMenu菜单中


在Java的Swing组件中,弹出式菜单用JPopupMenu表示


JPopupMenu弹出式菜单和下拉式菜单一样都通过调用add()方法添加JMenuItem菜单项,但它默认是不可见的,如果想要显示出来,则必须调用它的show(Component invoker,int x,int y)方法

对话框

JDialog

JDialog是Swing的另外一个顶级窗口,它和Dialog一样都表示对话框

JDialog对话框分:模态对话框和非模态对话框。

所谓模态对话框是指用户需要等到处理完对话框后才能继续与其它窗口交互。

非模态对话框允许用户在处理对话框的同时与其它窗口交互。

Jdialog的构造方法

JDialog的构造方法中都需要接收一个Frame类型的对象,表示对话框所有者,如果该对话框没有所有者,参数owner可以传入null


参数modal指定JDialog窗口是模态还是非模态,如果modal值为true,对话框就是模态对话框,反之则是非模态对话框。默认情况下, modal的值为false

目录
相关文章
|
4月前
|
前端开发 Oracle Java
Java中的GUI应用开发技术选型
Java中的GUI应用开发技术选型
|
6月前
|
存储 Java 关系型数据库
农产品管理系统【GUI/Swing+MySQL】(Java课设)
农产品管理系统【GUI/Swing+MySQL】(Java课设)
49 1
|
6月前
|
存储 Java 关系型数据库
酒店管理系统【GUI/Swing+MySQL】(Java课设)
酒店管理系统【GUI/Swing+MySQL】(Java课设)
64 1
|
6月前
|
存储 Java 关系型数据库
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
81 1
|
6月前
|
存储 Java 关系型数据库
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
46 0
|
6月前
|
存储 Java 关系型数据库
仓库管理系统【GUI/Swing+MySQL】(Java课设)
仓库管理系统【GUI/Swing+MySQL】(Java课设)
50 0
|
6月前
|
存储 Java 关系型数据库
游乐场管理系统【GUI/Swing+MySQL】(Java课设)
游乐场管理系统【GUI/Swing+MySQL】(Java课设)
40 0
|
6月前
|
存储 Java 关系型数据库
影碟出租管理系统【GUI/Swing+MySQL】(Java课设)
影碟出租管理系统【GUI/Swing+MySQL】(Java课设)
70 0
|
6月前
|
存储 Java 关系型数据库
实验室设备管理系统【GUI/Swing+MySQL】(Java课设)
实验室设备管理系统【GUI/Swing+MySQL】(Java课设)
59 0
|
6月前
|
存储 Java 关系型数据库
请销假管理系统【GUI/Swing+MySQL】(Java课设)
请销假管理系统【GUI/Swing+MySQL】(Java课设)
56 0