2021-06-22

《Java面向对象》

第十章 swing编程初级应用

10.1.1 JFrame窗口容器的使用
GUI应用程序都需要使用窗体作为最外层的容器,应用中需要使用的其他控件均直接或间接放在窗体中。在 swing GUI中,JFrame 是一个顶层容器,可以存放其他组件。JFrame 类包含了许多实用方法,如定义窗口标题、 创建 JFrame 窗体时,窗体边框、窗口的大小和位置等。通常通过继承 JFrame 类来创建一个窗口。
需要注意以下两点:
(1)JFrame 类构造方法创建的窗体是不可见的,需要开发人员通过硬编码的方式,设置窗体的可见性。
(2)JFrame 类构造方法创建的窗体默认的大小为 0 ×0 像素,默认的坐标是(0.0),因此在开发中需要设置窗体 的大小。
创建窗体有如下两种方式:
(1)直接编写代码,调用 JFrame 类的构造方法,这种方式适用于简单窗体的情况。
(2)继承 JFieme类。在继承的类中编写代码,对窗体进行详细的描述,这种方式适用于较复杂窗体的情况。

JFrame 常用方法 :
void setLayout(LayoutManager mg) 设置当前窗体使用的布局管理器
void sctTitle(String tidle) 设置当前窗体的标题
void setBounds (int x,int y,int width,int hight) 设置当前窗体距离桌面坐标原点的位置,x代 表横坐标,y代表纵坐标。当前窗体的大小: width 代表窗体的宽,height 代表窗体的高
void setSize(int width,jint height) 设置当前窗体的宽和高 设置当前窗体是否可见,参数值为 true,表示 void setVisible(boolean b) 可以见,为 false 则表示隐藏当前窗体
void setlconlmage(Image image) 设置当前窗体的图标
Component add(Component c) 将指定组件添加至当前窗体中

10.2布局管理器
在 Swing 编程中,使用布局管理器能够有效摆放容器中的组件。常用的布局管理器包括流式 FlowLayout 布局管 理器、GridLayout 网格布局管理器以及 BorderLayout 边框布局管理器。布局决定了 JFrame 中组件在 JFrame 中的排列方式。

10.2.1 Flow Layout流式布局管理器
FlowLayout 流式布局管理器的排版方式类似流程或文本处理器处理一段文字,它将组件一排一排依次放置,常用于 JRadioButton 单选按钮JCheckBox 复选框等组件的排列。
FlowLayout的构造方法及其功能:
FlowLayout() 使用居中方式构造Flow Layout的布局。
FlowLayout(int align) 使用给定对齐方式,且垂直和水平间隔为5px。
FlowLayout(int align,int hgap,int vgap) 使用给定对齐方式,且指定垂直和水平间隔。

10.2.2GridLayout网格布局管理器
网格布局管理器即 GridLayout 布局管理,其布局管理格式是将窗体分割成行数× 列数的格子状版面,组件按照 由左至右、由上而下的次序排列。
GridLayout 的构造方法及其功能 :
GridLayout 构造具有一行一列的Gridlayout的布局
GridLayout(int rows,int cloumns) 构造指定行数和列数的GridLayout的布局 GridLayout (int rows,int cloumns,int hgap,int vgap) 构造指定行数和列数的、各组件之间的相互间隔GridLayout 的布局。

注意: GridLayout 网格布局管理器与 FlowLayout 流式布局管理器相同,都会自动管理组件的大小和位置,两者的 不同之处是:网格布局管理器会尽可能地将组件充满窗口,而流式布局管理器则不会。

10.2.3 BorderLayout 边框布局管理器
BorderLayout 边框布局管理器将容器内的空间分为东、西、南、北、中5 个区域,分别用 EAST、WEST、 SOUTH、NORTH、CENTER 表示。向容器中加入每个组件时,都要指明其放在容器的哪个区域,如果某个区域 没有分配组件,则其他组件可以占据该区域的控件。
BorderLayout 类的构造方法及功能:
BorderLayoutO 构造 BorderLayout的布局 。
BorderLayout(int hgap,int vgap) 构造组件之间具有指定间隔的 BorderLayout 布局。

10.3常用控件
10.3.2 JTextField 与 JPasswordField 组件
JTextField 是 Swing 中提供的文本框控件,使用时需要注意以下两点: (1)JTextField 只能用于输入单行文本,如果文本的长度超出了控件可以显示的范围,其会自动滚动文本。
(2)关于JTextField,所有的剪切、复制、粘贴及其快捷键的操作都可以自动工作。 当要求用户在界面中输入密码时,则不能使用文本框,需要使用密码框。Swing 中专门提供了用于输入密码的密 码框组件,即 JPasswordField。由于 JPasswordField 继承自 JTextfField,因此其操作方法与 JTextFiled相同。

10.3.3JButton按钮组件
Swing中的 Button按钮可以设置文字,图形,还可以设置底色动态效果等。

10.3.4JPanel面板组件
JPanel面板是常用的非顶层容器之一,可以将其他控件放在JPanel中,以组成一个子界面。所谓的非顶层容器通常扮演双重角色,对于添加到其中的组件,其扮演容器的角色;对于要添加进的容器,其扮演一个控件角色。通过嵌套使用JPanel,可以搭建出复杂美观的界面。

10.4常用组件2
10.4.1JComboBox选择框组件
在Swing中,下拉列表由JComboBox表示,其特点是将所有选项折叠收藏,仅显示前面一个选项或被用户选中的某一个选项。
JComboBox选择框组件的常用方法:
add Item(Object anObject)为下拉列表添加下拉项。
setMaximum Row Count(int count)设置JComboBox显示的最大行数。

10.4.2 JRadioButton 单选按钮和 JCheckBox复选框组件
JRadionButton 表示单选按钮,而 ButtonGroup 类为单选按钮提供多选一功能,在一组单选按钮中,用户只能 选择一个单选按钮,当选择一个单选按钮时,此单选按钮的状态为“ON”,其余单选按钮的状态为“OFF”, JCheckBox 表示复选框,一组复选框中可以有多个复选框同时被选中。
注意:
使用JRadioButton 组件,首先需要创建 ButtonGroup 对象,然后将创建的JRadioButon 组件对象添加至 ButtonGroup 对象中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值