《Java面向对象程序设计》课件-第8章 图形用户界面
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2 Swing常见组件
10
认识Swing常用组件
常用 组件
11
GUI编程的一般步骤
创建 窗口
创建 组件
安排 组件
处理 事件
显示 窗口
12
8.2.1 窗口JFrame
JFrame 类的常用方法
序号
方法原型
主要功能
1 JFrame()
默认构造方法,创建窗口
2 JFrame(String title)
✓ 缺点:依赖操作系统来绘制组件并实现功能,不同操作系统下显示不完 全一致。
✓ Sun公司不推荐使用
Swing
✓ Swing 是在AWT的基础上构建的一套新的Java图形界面库。 ✓ 优点:不再依赖操作系统的本地代码,不同操作系统下的显示完全一致。 ✓ Sun推荐使用
5
8.1.2 Swing结构及组件的分类
add(Component
comp,
将指定组件添加到此容器的给定位置上
void doLayout()
使此容器布置其组件
float getAlignmentX()
返回沿 x 轴的对齐方式
float getAlignmentY()
返回沿 y 轴的对齐方式
Component getComponent(int n)
《Java面向对象程序设计》
第8章 图形用户界面
1
内容导览
2
主要内容
8.1 Swing图形库 8.2 Swing常见组件 8.3 布局管理 8.4 事件处理 8.5 Swing其它组件 8.6 实例
3
8.1.1 AWT 和 Swing 8.1.2 Swing结构及组件的分类 8.1.3 ponent常用方法 8.1.4 tainer常用方法
19
8.2.4 文本组件JTextField和JTextArea
JTextField 演示
20
8.2.4 文本组件JTextField和JTextArea
JTextArea 类的常用方法
序号 1 2 3 4 5 6 7 8
9
10
11
12 13
方法原型 JTextArea() JTextArea(int rows,int cols)
中间容器(如面板JPanel)。它
们 需 要 放 入 类 似 于 JFrame 时
才能显示出来。
8.1.2 Swing结构及组件的分类
7
8.1.3 ponent常用方法
ponent 类 的常用方法
方法原型
主要功能
void setLocation(int x, int y) 将组件移到新位置
8 void setTitle(String title)
将此JFrame 的标题设置为指定的字符串
13
JFrame 演示
8.2.1 窗口JFrame
14
8.2.2 面板JPanel
JPanel 类的常用方法
方法原型
主要功能
JPanel()
默认构造方法,创建的 面板默认具有流式布局
JPanel(LayoutManager 构造方法,使用指定布
设置此容器的字体
void setLayout(LayoutManager mgr) 设置此容器的布局管理器
9
8.2.1 窗口JFrame 8.2.2 面板JPanel 8.2.3 标签JLabel 8.2.4 文本组件JTextField和JTextArea 8.2.5 按钮JButton 8.2.6 单选按钮JRadioButton 8.2.7 多选按钮JCheckBox
void setSize(int height)
width,
int 调整组件的大小,使其宽度为 width,高度为 height
void setVisible(boolean b)
根据参数b的值显示或隐藏此组件,为true显示该组件
void add(PopupMenu popup) 向组件添加指定的弹出菜单
构造方法,创建具有指定标题栏文字的窗口
3 Container getContentPane()
获得该窗口的内容面板对象
4 String getTitle()
获得JFrame 的标题
设置窗口的关闭行为,参数取值包括:
DO_NOTHING_ON_CLOSE : 不 执 行 任 何
5
void setDefaultCloseOperation(int operation)
JTextArea(String text) JTextArea(String text, int cols) void append(String str) int getColumns() int getRows()
rows,int
主要功能
默认构造方法,创建不带初始文字的文本区
构造方法,创建具有指定行数和列数的新的空 文本区 构造方法,创建带指定初始文字text的文本区
boolean contains(int x, int y) 检查组件是否“包含”指定的点(x, y)
boolean contains(Point p)
检查组件是否“包含”指定的点p
float getAlignmentX()
返回 x 轴的对齐方式
float getAlignmentY()
返回 y 轴的对齐方式
主要功能
创建初始文字为空、列数为零的文 本框 创建指定列数的空文本框。
创建文本框,以text为默认的文字
创建文本框,以text为默认的文字, 并设置宽度为columns个字符
取得文本框默认的宽度(字符数) 设 置 文 本 框 的 宽 度 为 columns 个 字 符 设置文本框的字体 返回文本框的文本 将文本框显示的文本设置为指定文 本
void setName(String name) 将组件的名称设置为指定的字符串
8
8.1.4 tainer常用方法
java.awt. Container 类的常用方法
方法原型
主要功能
Component add(Component comp) 将指定组件追加到此容器的尾部
Component int index)
void setColumns(int columns) void setLineWrap(boolean wrap)
void setRows(int rows) void setText(String text)
设置文本区的宽度(以字符数为单位)
设置文本区的换行策略。如果为 true,则当行 的长度大于所分配的宽度时换行,否则始终不 换行。 设置文本区可显示的行数
获得此容器中的第 n 个组件
void paint(Graphics g)
绘制容器
void remove(Component comቤተ መጻሕፍቲ ባይዱ)
从此容器中移除指定组件
void remove(int index)
从此容器中移除 index 指定的组件
void removeAll()
从此容器中移除所有组件
void setFont(Font f)
操作; HIDE_ON_CLOSE:隐藏窗口,为默认值; DISPOSE_ON_CLOSE:隐藏窗口并释放显
示资源;
EXIT_ON_CLOSE:退出程序
6 void setContentPane(Container c)
用面板对象c 替换窗口默认的内容面板
7 void setResizable(boolean resizable) 设置此 JFrame 是否可由用户调整大小
返回组件原点的当前 y 坐标
void setBackground(Color c) 设置组件的背景色
void setBounds(int x, int y, int width, int height)
移动组件位置到指定坐标并调整其大小
void setFont(Font f)
设置组件的字体
void setForeground(Color c) 设置组件的前景色
Swing 结构
6
Windows类型:运行时可以
独立显示的组件,如JFrame
1
和JDialog,这些组件属于容 器类型,是存放其它组件的
组件。也称顶层容器。
JComponent 类 型 : 不 可 以
独立显示的组件。即运行时必
须放入顶层容器中才能将其显
2
示出来,它包含两类: 普 通 组 件 ( 如 按 钮 JButton) 、
设置文本区内的文字为text
21
8.2.4 文本组件JTextField和JTextArea
JTextArea 演示
22
8.2.5 按钮JButton
AbstractButton类的常用方法
序号 1 2 3 4 5 6
方法原型
void setText(String text)
void setActionCommand(String command)
boolean isSelected()
void setMnemonic(int mnemonic) void setDisplayedMnemonicIndex(int index) setIcon(Icon defaultIcon)
主要功能
设置按钮上的文字为text,可以带 HTML标记 设置按钮的动作命令文字,用于在 按钮的点击事件处理程序中判断是 哪个按钮触发了事件 判断按钮是否被选中。选中返回 true,否则返回false 设置按钮的快捷键字符。按“Alt+ 该字符键”相当于单击按钮 将按钮文字中指定下标的字符设为 显示的快捷键字符(该字符会带一 个下划线)
返回标签内文字的对齐方式 设置标签内文字的对齐方式 设置标签内将要显示的图标。 返回标签内的文字 设置标签内的文字为text
17
JLabel
演示
8.2.3 标签JLabel
18
8.2.4 文本组件JTextField和JTextArea
JTextField 类的常用方法
序 号
方法原型
1 JTextField()
构造方法,创建带指定初始文字、指定行列数 的文本区。 在目前的文本区内的文字之后加上新的文字str
取得文字区的宽度(以字符数为单位)
取得文字区的高度(以字符数为单位)
String getText() void replaceRange(String start,int end)
返回文本区的文本
str,int 在文本区内,位置在start到end之间的文字以字 符串str来取代
构 造 方 法 , 以 text作 标 签 上 的 文 字 , 并 以 3 JLabel(String text,int align) align的方式对齐,其中align可为JLabel的常
量值LEFT、RIGHT与CENTER等
4 int getAlignment() 5 int setAlignment(int align) 6 void setIcon(Icon icon) 7 String getText() 8 String setText(String text)
2 JTextField(int columns) 3 JTextField(String text)
4 JTextField(Stringtext,int columns)
5 int getColumns() 6 void setColumns(int columns) 7 void setFont(Font f) 8 String getText() 9 void setText(String t)
Color getBackground()
获得组件的背景色
Rectangle getBounds()
以 Rectangle 对象的形式获得组件的边界
Font getFont()
获得组件的字体
Color getForeground()
获得组件的前景色
int getX()
返回组件原点的当前 x 坐标
int getY()
8.1 Swing图形库
4
8.1.1 AWT 和 Swing
图形用户界面(Graphical User Interface)简称GUI,是指采用图 形方式显示的计算机用户操作界面。
AWT
✓ AWT(Abstract Window Toolkit,抽象窗口工具集)是JDK提供的首个 用来编写Java GUI程序的图形界面库。
layout)
局 创 建 面 板 , JPanel 的
默认布局为流式布局
15
JPane l演示
8.2.2 面板JPanel
16
8.2.3 标签JLabel
JLabel 类的常用方法
序号
方法原型
1 JLabel()
2 JLabel(String text)
主要功能
默认构造方法,创建没有文字的标签
构造方法,创建标签且text作为标签上的文 字,可含HTML 标记
10
认识Swing常用组件
常用 组件
11
GUI编程的一般步骤
创建 窗口
创建 组件
安排 组件
处理 事件
显示 窗口
12
8.2.1 窗口JFrame
JFrame 类的常用方法
序号
方法原型
主要功能
1 JFrame()
默认构造方法,创建窗口
2 JFrame(String title)
✓ 缺点:依赖操作系统来绘制组件并实现功能,不同操作系统下显示不完 全一致。
✓ Sun公司不推荐使用
Swing
✓ Swing 是在AWT的基础上构建的一套新的Java图形界面库。 ✓ 优点:不再依赖操作系统的本地代码,不同操作系统下的显示完全一致。 ✓ Sun推荐使用
5
8.1.2 Swing结构及组件的分类
add(Component
comp,
将指定组件添加到此容器的给定位置上
void doLayout()
使此容器布置其组件
float getAlignmentX()
返回沿 x 轴的对齐方式
float getAlignmentY()
返回沿 y 轴的对齐方式
Component getComponent(int n)
《Java面向对象程序设计》
第8章 图形用户界面
1
内容导览
2
主要内容
8.1 Swing图形库 8.2 Swing常见组件 8.3 布局管理 8.4 事件处理 8.5 Swing其它组件 8.6 实例
3
8.1.1 AWT 和 Swing 8.1.2 Swing结构及组件的分类 8.1.3 ponent常用方法 8.1.4 tainer常用方法
19
8.2.4 文本组件JTextField和JTextArea
JTextField 演示
20
8.2.4 文本组件JTextField和JTextArea
JTextArea 类的常用方法
序号 1 2 3 4 5 6 7 8
9
10
11
12 13
方法原型 JTextArea() JTextArea(int rows,int cols)
中间容器(如面板JPanel)。它
们 需 要 放 入 类 似 于 JFrame 时
才能显示出来。
8.1.2 Swing结构及组件的分类
7
8.1.3 ponent常用方法
ponent 类 的常用方法
方法原型
主要功能
void setLocation(int x, int y) 将组件移到新位置
8 void setTitle(String title)
将此JFrame 的标题设置为指定的字符串
13
JFrame 演示
8.2.1 窗口JFrame
14
8.2.2 面板JPanel
JPanel 类的常用方法
方法原型
主要功能
JPanel()
默认构造方法,创建的 面板默认具有流式布局
JPanel(LayoutManager 构造方法,使用指定布
设置此容器的字体
void setLayout(LayoutManager mgr) 设置此容器的布局管理器
9
8.2.1 窗口JFrame 8.2.2 面板JPanel 8.2.3 标签JLabel 8.2.4 文本组件JTextField和JTextArea 8.2.5 按钮JButton 8.2.6 单选按钮JRadioButton 8.2.7 多选按钮JCheckBox
void setSize(int height)
width,
int 调整组件的大小,使其宽度为 width,高度为 height
void setVisible(boolean b)
根据参数b的值显示或隐藏此组件,为true显示该组件
void add(PopupMenu popup) 向组件添加指定的弹出菜单
构造方法,创建具有指定标题栏文字的窗口
3 Container getContentPane()
获得该窗口的内容面板对象
4 String getTitle()
获得JFrame 的标题
设置窗口的关闭行为,参数取值包括:
DO_NOTHING_ON_CLOSE : 不 执 行 任 何
5
void setDefaultCloseOperation(int operation)
JTextArea(String text) JTextArea(String text, int cols) void append(String str) int getColumns() int getRows()
rows,int
主要功能
默认构造方法,创建不带初始文字的文本区
构造方法,创建具有指定行数和列数的新的空 文本区 构造方法,创建带指定初始文字text的文本区
boolean contains(int x, int y) 检查组件是否“包含”指定的点(x, y)
boolean contains(Point p)
检查组件是否“包含”指定的点p
float getAlignmentX()
返回 x 轴的对齐方式
float getAlignmentY()
返回 y 轴的对齐方式
主要功能
创建初始文字为空、列数为零的文 本框 创建指定列数的空文本框。
创建文本框,以text为默认的文字
创建文本框,以text为默认的文字, 并设置宽度为columns个字符
取得文本框默认的宽度(字符数) 设 置 文 本 框 的 宽 度 为 columns 个 字 符 设置文本框的字体 返回文本框的文本 将文本框显示的文本设置为指定文 本
void setName(String name) 将组件的名称设置为指定的字符串
8
8.1.4 tainer常用方法
java.awt. Container 类的常用方法
方法原型
主要功能
Component add(Component comp) 将指定组件追加到此容器的尾部
Component int index)
void setColumns(int columns) void setLineWrap(boolean wrap)
void setRows(int rows) void setText(String text)
设置文本区的宽度(以字符数为单位)
设置文本区的换行策略。如果为 true,则当行 的长度大于所分配的宽度时换行,否则始终不 换行。 设置文本区可显示的行数
获得此容器中的第 n 个组件
void paint(Graphics g)
绘制容器
void remove(Component comቤተ መጻሕፍቲ ባይዱ)
从此容器中移除指定组件
void remove(int index)
从此容器中移除 index 指定的组件
void removeAll()
从此容器中移除所有组件
void setFont(Font f)
操作; HIDE_ON_CLOSE:隐藏窗口,为默认值; DISPOSE_ON_CLOSE:隐藏窗口并释放显
示资源;
EXIT_ON_CLOSE:退出程序
6 void setContentPane(Container c)
用面板对象c 替换窗口默认的内容面板
7 void setResizable(boolean resizable) 设置此 JFrame 是否可由用户调整大小
返回组件原点的当前 y 坐标
void setBackground(Color c) 设置组件的背景色
void setBounds(int x, int y, int width, int height)
移动组件位置到指定坐标并调整其大小
void setFont(Font f)
设置组件的字体
void setForeground(Color c) 设置组件的前景色
Swing 结构
6
Windows类型:运行时可以
独立显示的组件,如JFrame
1
和JDialog,这些组件属于容 器类型,是存放其它组件的
组件。也称顶层容器。
JComponent 类 型 : 不 可 以
独立显示的组件。即运行时必
须放入顶层容器中才能将其显
2
示出来,它包含两类: 普 通 组 件 ( 如 按 钮 JButton) 、
设置文本区内的文字为text
21
8.2.4 文本组件JTextField和JTextArea
JTextArea 演示
22
8.2.5 按钮JButton
AbstractButton类的常用方法
序号 1 2 3 4 5 6
方法原型
void setText(String text)
void setActionCommand(String command)
boolean isSelected()
void setMnemonic(int mnemonic) void setDisplayedMnemonicIndex(int index) setIcon(Icon defaultIcon)
主要功能
设置按钮上的文字为text,可以带 HTML标记 设置按钮的动作命令文字,用于在 按钮的点击事件处理程序中判断是 哪个按钮触发了事件 判断按钮是否被选中。选中返回 true,否则返回false 设置按钮的快捷键字符。按“Alt+ 该字符键”相当于单击按钮 将按钮文字中指定下标的字符设为 显示的快捷键字符(该字符会带一 个下划线)
返回标签内文字的对齐方式 设置标签内文字的对齐方式 设置标签内将要显示的图标。 返回标签内的文字 设置标签内的文字为text
17
JLabel
演示
8.2.3 标签JLabel
18
8.2.4 文本组件JTextField和JTextArea
JTextField 类的常用方法
序 号
方法原型
1 JTextField()
构造方法,创建带指定初始文字、指定行列数 的文本区。 在目前的文本区内的文字之后加上新的文字str
取得文字区的宽度(以字符数为单位)
取得文字区的高度(以字符数为单位)
String getText() void replaceRange(String start,int end)
返回文本区的文本
str,int 在文本区内,位置在start到end之间的文字以字 符串str来取代
构 造 方 法 , 以 text作 标 签 上 的 文 字 , 并 以 3 JLabel(String text,int align) align的方式对齐,其中align可为JLabel的常
量值LEFT、RIGHT与CENTER等
4 int getAlignment() 5 int setAlignment(int align) 6 void setIcon(Icon icon) 7 String getText() 8 String setText(String text)
2 JTextField(int columns) 3 JTextField(String text)
4 JTextField(Stringtext,int columns)
5 int getColumns() 6 void setColumns(int columns) 7 void setFont(Font f) 8 String getText() 9 void setText(String t)
Color getBackground()
获得组件的背景色
Rectangle getBounds()
以 Rectangle 对象的形式获得组件的边界
Font getFont()
获得组件的字体
Color getForeground()
获得组件的前景色
int getX()
返回组件原点的当前 x 坐标
int getY()
8.1 Swing图形库
4
8.1.1 AWT 和 Swing
图形用户界面(Graphical User Interface)简称GUI,是指采用图 形方式显示的计算机用户操作界面。
AWT
✓ AWT(Abstract Window Toolkit,抽象窗口工具集)是JDK提供的首个 用来编写Java GUI程序的图形界面库。
layout)
局 创 建 面 板 , JPanel 的
默认布局为流式布局
15
JPane l演示
8.2.2 面板JPanel
16
8.2.3 标签JLabel
JLabel 类的常用方法
序号
方法原型
1 JLabel()
2 JLabel(String text)
主要功能
默认构造方法,创建没有文字的标签
构造方法,创建标签且text作为标签上的文 字,可含HTML 标记