swing组件结构图.ppt
合集下载
javaSWING讲解PPT课件
![javaSWING讲解PPT课件](https://img.taocdn.com/s3/m/c79c47ca3169a4517623a3a0.png)
• 东(EAST) • 西(WEST) • 南(SOUTH) • 北(NORTH) • 中(CENTER)五个区域,组件只能被添加到指定的区域 • 如不指定组件的加入部位,则默认加入到CENTER区。 • 每个区域只能加入一个组件,如加入多个,则先前加入的会被覆盖。
第19页/共40页
BorderLayout布局管理器 • BorderLayout型布局容器尺寸缩放原则:
说明
将项添加至项的列表
返回指定索引位置的列表项
返回列表(作为对象)中的项数 将当前选择的项作为一个对象返回
返回当前选择项的索引位置
第15页/共40页
布局管理器
• 用户界面上的GUI组件可以按照一定的格式布局 例如水平排列,或按网格方式排列
• 布局管理器类是一组类,它 • 实现 java.AW youtManage r 接口 • 帮助在容器中放置组件
位置属性,如果试图使用Java语言提供的setLocation(),setSize(),setBounds()等方法,则都会被 布局管理器覆盖。 • 如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:
• setLayout(null)
第22页/共40页
课堂练习
第23页/共40页
SWING容器组件1
Swing 应用程序
主窗口
内容面板
第3页/共40页
顶层容器(每个应用 程序中至少有一个)
主要显示区域包含 GUI 中的可视组件
创建顶层容器
创建容器
设置容器大小 (对框架及面板而言)
设置容器可见度 (对框架及面板而言)
SWING容器组件2
javax.swing 包
常见容器
JFrame
第19页/共40页
BorderLayout布局管理器 • BorderLayout型布局容器尺寸缩放原则:
说明
将项添加至项的列表
返回指定索引位置的列表项
返回列表(作为对象)中的项数 将当前选择的项作为一个对象返回
返回当前选择项的索引位置
第15页/共40页
布局管理器
• 用户界面上的GUI组件可以按照一定的格式布局 例如水平排列,或按网格方式排列
• 布局管理器类是一组类,它 • 实现 java.AW youtManage r 接口 • 帮助在容器中放置组件
位置属性,如果试图使用Java语言提供的setLocation(),setSize(),setBounds()等方法,则都会被 布局管理器覆盖。 • 如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:
• setLayout(null)
第22页/共40页
课堂练习
第23页/共40页
SWING容器组件1
Swing 应用程序
主窗口
内容面板
第3页/共40页
顶层容器(每个应用 程序中至少有一个)
主要显示区域包含 GUI 中的可视组件
创建顶层容器
创建容器
设置容器大小 (对框架及面板而言)
设置容器可见度 (对框架及面板而言)
SWING容器组件2
javax.swing 包
常见容器
JFrame
Swing套件的容器元件与版面配置
![Swing套件的容器元件与版面配置](https://img.taocdn.com/s3/m/d00482b348d7c1c709a14530.png)
整理ppt
3
10-1-1 Swing套件是什麼
Swing套件的類別是定義 在名為javax.swing套件, 第9章介紹的AWT元件屬於 JDK 1.0和1.1版的GUI元 件,在Java 2平台提供全 新的Swing元件來取代 AWT,大部分的Swing元
件都是繼承自
JComponent,其元件名 稱都是以”J”字母開頭,如 右圖所示:
JFrame類別關於ContentPane物件的相 關方法,如下表所示:
方法 void setContentPane(Container)
Container getContentPane() void setJMenuBar(JMenuBar)
JMenuBar getMneuBar()
說明 設定 JFrame 使用的 ContentPane 物件 取得 JFrame 使用的 ContentPane 物件 設定視窗的功能表列(詳見第 11 章)
整理ppt
21Biblioteka -1 Swing套件的基礎Swing套件屬於Java平台「JFC」(Java Foundation Classes)的一部分,JFC可 以建立GUI介面的Java應用程式,在本書 稱為Swing應用程式,使用的是JFC的 Swing套件提供的各種元件。
• 例如:按鈕、核取方塊、選項鈕和文字方塊等。
整理ppt
5
10-1-3 事件改編者Event Adapter-說 明
在AWT的java.awt.event套件提供 XXXAdapter改編者類別,如下表所示:
XXXAdapter 類別 ComponentAdapter ContainerAdapter
FocusAdapter KeyAdapter MouseAdapter MouseMotionAdapter WindowAdapter
图形用户界面设计Swing常用组件.ppt
![图形用户界面设计Swing常用组件.ppt](https://img.taocdn.com/s3/m/583f85bd71fe910ef12df892.png)
JScrollPane scrollPane = new JScrollPane(textArea);
2020年1月25日星期六
NCEPU
Swing的常用组件--JTextArea
文本区的三 种显示方式
2020年1月25日星期六
NCEPU
Swing的常用组件--JTextArea
例:创建包含文本区、文本框和“提交”按钮的窗口。 在文本区中输入文字,单击“提交”按钮,文本 框中会出现同样的文字。
}
class TFFrame extends JFrame { JTextField num1, num2, num3; public void launchFrame() { num1 = new JTextField(10); num2 = new JTextField(10); num3 = new JTextField(15); JLabel lblPlus = new JLabel("+"); JButton btnEqual = new JButton("="); btnEqual.addActionListener(new MyMonitor()); setLayout(new FlowLayout()); add(num1); add(lblPlus); add(num2); add(btnEqual); add(num3); pack(); setVisible(true); }
public class TFPassword { public static void main(String[] args) { new TFFrame2(); }
}
class TF密Fram码e2域exJtePnadsssJFwraomredField
Swing组件
![Swing组件](https://img.taocdn.com/s3/m/23b63b815ebfc77da26925c52cc58bd6318693ce.png)
常用容器之一 有效利用他使版面管理更为容易; 支持double buffering,处理动画片更为流畅(无闪烁) 构造函数:
• JPanel(LayoutManager layout,boolean isDoubleBuffered)
范例 path:exam\ch5
• JPanel1.java //利用JPanel排列5个JLabel对象
5)不可编辑信息的显示 Jlabel, JProgressBar, JToolTip
6)可编辑的格式化信息的显示 JColorChooser, JFileChooser, JTable, JTextField, JTextArea, JTree
总结
JFrame、JApplet、Jdialog是swing的底层 容器,是重量级容器;
❖ComponentEvent //组件移动、缩放、显示、隐藏
❖FocusEvent
//获得或失去焦点
❖KeyEvent
//在组件聚焦时,接收键盘输入
❖MouseEvent
//鼠标点击和进、出测试区
❖MouseMotionEvent //鼠标移动
4、能激活Container类的ContainerEvent事件的Swing组件
• 当树的结构有任何改变时,例如节点值变了、新增或删除了节 点等。
• 必须实现TreeModelListener接口
void treeNodesChanged(TreeModelEvent e)
void treeNodesInserted(TreeModelEvent e)
void treeNodesRemoveed(TreeModelEvent e)
Swing组件层次
增加Swing组件后类层次图
• JPanel(LayoutManager layout,boolean isDoubleBuffered)
范例 path:exam\ch5
• JPanel1.java //利用JPanel排列5个JLabel对象
5)不可编辑信息的显示 Jlabel, JProgressBar, JToolTip
6)可编辑的格式化信息的显示 JColorChooser, JFileChooser, JTable, JTextField, JTextArea, JTree
总结
JFrame、JApplet、Jdialog是swing的底层 容器,是重量级容器;
❖ComponentEvent //组件移动、缩放、显示、隐藏
❖FocusEvent
//获得或失去焦点
❖KeyEvent
//在组件聚焦时,接收键盘输入
❖MouseEvent
//鼠标点击和进、出测试区
❖MouseMotionEvent //鼠标移动
4、能激活Container类的ContainerEvent事件的Swing组件
• 当树的结构有任何改变时,例如节点值变了、新增或删除了节 点等。
• 必须实现TreeModelListener接口
void treeNodesChanged(TreeModelEvent e)
void treeNodesInserted(TreeModelEvent e)
void treeNodesRemoveed(TreeModelEvent e)
Swing组件层次
增加Swing组件后类层次图
JavaSwing图形界面开发(常用组件)33页PPT
![JavaSwing图形界面开发(常用组件)33页PPT](https://img.taocdn.com/s3/m/29609a372cc58bd63186bdf9.png)
17
4.2.2 如何使用单选按钮 即RadioButton,通过“JRadioButton类” 实现。 如:诸多管理软件中出现的“性别”单选按钮 。
图4.5 单选按钮示例图
要使用单选按钮,同样首先必须创建,然后再使用其 内置的方法来操纵组件。
18
表4.5 单选按钮的构造器
常用方法:与普通按钮类似。
29
按钮组件综合应用程序运行结果:
图4.10 按钮组件综合应用
30
4.3 本章小结
1、在顶层窗口中添加标签 将标签控件添加到顶层窗口的内容面板上即可。 标签上的文字,可使用“构造器”和“setText()”两种方法来创建。
2、普通按钮控件的添加 将按钮控件添加到顶层窗口的内容面板上即可。 按钮上的文字,可使用构造器创建。
标签
如何使用标签和按钮组件
“标签”和“按钮”是开发图形界面必须用到的基本组件, 几乎所有的程序界面都会用到。 ◆ 标签
---用于标识名称、说明性文字。 ---通常,标签所显示的文本是不变的,也是禁止编辑的。
不过,可通过代码方式,让标签的文字发生改变。
◆ 按钮
---实现人机对话最基本的组件。 ---如ATM,当输入密码后,即会有几个按钮控件供用户选择。
6
使用标签示例程序1---在顶层容器中添加两个标签组件
(使用标签对象初始化方法,为Label赋初始值)
7
程序运行结果:
图4.1 使用对象初始化的方式赋值
8
使用标签示例程序2---在顶层容器中添加两个标签组件
(内置setText()方法赋值)
9
程序运行结果:
图4.2 使用标签内置方法赋值
10
4.2 如何使用按钮
swing常用元件(二)讲解
![swing常用元件(二)讲解](https://img.taocdn.com/s3/m/bd5f51c67f1922791688e861.png)
11.2 對話框
對話框是一種顯示訊息或詢問問題的小視窗,在JOptionPane 類別中共四種對話框,分別是showConfirmDialog() 確認對話框、 showMessageDialog() 訊息對話框、showInputDialog() 輸入對話 框、showOptionDialog() 選項對話框。比較複雜的對話框又稱為面 版,本節介紹二種,分別是JFileChooser() 檔案選擇對話框、 JColorChooser() 色彩選擇對話框。
但一旦點選該功能表的標題文字時,便會拉出該功能表的下拉式
選單。其建構子及常用方法如下 : 一、建構子: 1. JMenu()
建立一個沒有標題文字的空白功能表。
2. JMenu(String text) 建立一個標題文字為text的功能表。
二、常用的方法:
1. JMenuItem add(JMenuItem item)
② 參數msg:用來設定在對話框中所要顯示的訊息,它可以
是文字字串,也可以是圖示或其它物件。
2. int showConfirmDialog(Component parent, Object msg, String title, int optionType) ① 參數title:用來指定對話框的標題列文字。 ② 參數optionType:用來設定放置在對話框中等待使用者答覆 的按鈕, 有兩種設定值:
二、常用的方法:
1. void show(Component invoker, int x, int y) 在參數invoker指定元件的座標(x, y)上,顯示快顯功能表。
2. boolean isPopupTrigger()
判斷快顯功能表是否有被觸發。一般是按滑鼠右鍵時,便會 構成觸發快顯功能表。
JavaSwing精品PPT课件
![JavaSwing精品PPT课件](https://img.taocdn.com/s3/m/5475ed3d0b1c59eef8c7b4b3.png)
容器类控件 普通容器 com.kingdee.bos.ctrl.swing.KDPanel 滚动容器 com.kingdee.bos.ctrl.swing.KDScrollPane 页签容器 com.kingdee.bos.ctrl.swing.KDTabbedPane 分割区容器 com.kingdee.bos.ctrl.swing.KDSplitPane 标题容器 com.kingdee.bos.ctrl.swing.KDContainer 编辑器容器 com.kingdee.bos.ctrl.swing.KDLabelContainer
KDMenu
KDMenuItem
KDFormattedTextField
KDNumberTextField KDBusiCurrencyField,KDPanel
KDScrollBar, …
组合控件:由元控件组合而成的控件。
KDComboBox KDList KDTree KDDatePicker
KDTable
2 文本显示控件 com.kingdee.bos.ctrl.swing.KDLablel
P8
应用场景分类2
窗口系列控件
窗体 com.kingdee.bos.ctrl.swing.KDFrame
对话框 com.kingdee.bos.ctrl.swing.KDDialog
内部窗体 com.kingdee.bos.ctrl.swing.KDInternalFrame
菜单栏 com.kingdee.bos.ctrl.swing.KDMenuBar
状态栏 com.kingdee.bos.ctrl.swing.KDStatusBar
按钮类型控件
功能按钮 com.kingdee.bos.ctrl.swing.KDButton
KDMenu
KDMenuItem
KDFormattedTextField
KDNumberTextField KDBusiCurrencyField,KDPanel
KDScrollBar, …
组合控件:由元控件组合而成的控件。
KDComboBox KDList KDTree KDDatePicker
KDTable
2 文本显示控件 com.kingdee.bos.ctrl.swing.KDLablel
P8
应用场景分类2
窗口系列控件
窗体 com.kingdee.bos.ctrl.swing.KDFrame
对话框 com.kingdee.bos.ctrl.swing.KDDialog
内部窗体 com.kingdee.bos.ctrl.swing.KDInternalFrame
菜单栏 com.kingdee.bos.ctrl.swing.KDMenuBar
状态栏 com.kingdee.bos.ctrl.swing.KDStatusBar
按钮类型控件
功能按钮 com.kingdee.bos.ctrl.swing.KDButton
JavaSwing界面设计(所有控件及示例)PPT课件
![JavaSwing界面设计(所有控件及示例)PPT课件](https://img.taocdn.com/s3/m/143536b38bd63186bdebbc63.png)
选课 JList
确认 JButton
保存 JFileChooser
结果 JTextArea
要求输入完毕按“确认”将该学生的信息记录到“结果”中;按
“保存”将结果保存到一个指定的文件中;基本信息与结
果界面上下分布在一个JSplitPane中;屏幕下方显示当前
时间
22
示例:学生信息管理系统
步骤一:由JFrame创建初始的用户界面,获得JFrame的容器,
JInternalFrame、Box等创建中间容器 ③ 由基本组件类创建有关的组件 ④ 将基本组件按照某种布局添加到中间容器中,根据需
要可能会用到容器的嵌套 ⑤ 将中间容器按照某种布局添加到顶层容器中,形成满
足用户需求的操作界面
20
获得JFrame的容器并添加组件
Container con = getContentPane(); JPanel panel = new JPanel(); JButton butt = new JButton("Press Me"); panel.add(butt); con.add(panel);
3
用户界面概述
一.用户界面的类型
字符用户界面(CUI):例如,MS-DOS 图形用户界面(GUI):例如,Microsoft Windows
二.GUI的组件
组件
基本的控制组件,例如:Button、Label等。 容器:能容纳和排列组件的组件
组件继承它的父容器的性质
4
Label
Frame Window
ng.Object
ponent
java.awt.Container
java.awt.Panel
java.awt.Window javax.swing.JComponent
Swing组件应用介绍课件
![Swing组件应用介绍课件](https://img.taocdn.com/s3/m/74b588285e0e7cd184254b35eefdc8d376ee14b5.png)
ERP、CRM等系统。
2
桌面应用:Swing组件在桌 面应用中广泛使用,如文件
管理器、邮件客户端等。
3
教育应用:Swing组件在教 育应用中广泛使用,如教学
软件、在线课程等。
4
游戏应用:Swing组件在游 戏应用中广泛使用,如2D
游戏、休闲游戏等。
组件选择与搭配
选择合适的组件:根据需求选择合适的Swing组 件,如按钮、文本框、列表等。
● 窗口组件:JFrame、JDialog、JWindow ● 面板组件:JPanel、JScrollPane、JSplitPane ● 按钮组件:JButton、JToggleButton、JCheckBox ● 文本组件:JLabel、JTextField、JPasswordField ● 选择组件:JComboBox、JList、JRadioButton ● 图像组件:JIcon、JImageIcon、JLabel ● 菜单组件:JMenuBar、JMenu、JMenuItem ● 工具栏组件:JToolBar、JButton、JToggleButton ● 布局管理器:BorderLayout、FlowLayout、GridLayout ● 事件处理:ActionListener、MouseList减少组件数量:尽量减少不 必要的组件,提高页面加载
速度
缓存数据:对于经常使用的数 据,可以缓存起来,减少服务
器请求次数
延迟加载:对于不需要立即 显示的组件,可以延迟加载,
提高页面响应速度
压缩图片:对于页面中的图 片,可以压缩后再使用,减 少页面大小,提高加载速度
04
企业级应用开发: Swing组件可用于开发 企业级应用,如ERP、 CRM等。
● 标签(JLabel):用于显示文本或图标 ● 按钮(JButton):用于触发事件 ● 文本框(JTextField):用于输入文本 ● 列表框(JList):用于显示和选择列表项 ● 组合框(JComboBox):用于从列表中选择项目 ● 复选框(JCheckBox):用于表示选中或未选中状态 ● 单选按钮(JRadioButton):用于表示选中或未选中状态,一组单选按钮只能选中一个 ● 滚动条(JScrollBar):用于滚动显示内容 ● 表格(JTable):用于显示和编辑表格数据 ● 树(JTree):用于显示和编辑树形结构数据 ● 菜单(JMenu):用于显示和选择菜单项
2
桌面应用:Swing组件在桌 面应用中广泛使用,如文件
管理器、邮件客户端等。
3
教育应用:Swing组件在教 育应用中广泛使用,如教学
软件、在线课程等。
4
游戏应用:Swing组件在游 戏应用中广泛使用,如2D
游戏、休闲游戏等。
组件选择与搭配
选择合适的组件:根据需求选择合适的Swing组 件,如按钮、文本框、列表等。
● 窗口组件:JFrame、JDialog、JWindow ● 面板组件:JPanel、JScrollPane、JSplitPane ● 按钮组件:JButton、JToggleButton、JCheckBox ● 文本组件:JLabel、JTextField、JPasswordField ● 选择组件:JComboBox、JList、JRadioButton ● 图像组件:JIcon、JImageIcon、JLabel ● 菜单组件:JMenuBar、JMenu、JMenuItem ● 工具栏组件:JToolBar、JButton、JToggleButton ● 布局管理器:BorderLayout、FlowLayout、GridLayout ● 事件处理:ActionListener、MouseList减少组件数量:尽量减少不 必要的组件,提高页面加载
速度
缓存数据:对于经常使用的数 据,可以缓存起来,减少服务
器请求次数
延迟加载:对于不需要立即 显示的组件,可以延迟加载,
提高页面响应速度
压缩图片:对于页面中的图 片,可以压缩后再使用,减 少页面大小,提高加载速度
04
企业级应用开发: Swing组件可用于开发 企业级应用,如ERP、 CRM等。
● 标签(JLabel):用于显示文本或图标 ● 按钮(JButton):用于触发事件 ● 文本框(JTextField):用于输入文本 ● 列表框(JList):用于显示和选择列表项 ● 组合框(JComboBox):用于从列表中选择项目 ● 复选框(JCheckBox):用于表示选中或未选中状态 ● 单选按钮(JRadioButton):用于表示选中或未选中状态,一组单选按钮只能选中一个 ● 滚动条(JScrollBar):用于滚动显示内容 ● 表格(JTable):用于显示和编辑表格数据 ● 树(JTree):用于显示和编辑树形结构数据 ● 菜单(JMenu):用于显示和选择菜单项
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•
{
•
public void actionPerformed(ActionEvent e)
•
{
•
new test1().l.setText("");
•
}
•
}
从上例可以看出一个事件处理的过 程
• 1 。定义实现时间监听接口类:class ActionHandler implements ActionListener{},
•
import java.awt.*;
•
import java.awt.event.*;
•
public class test1
•
{
•
static final int WIDTH=300;
•
static final int HEIGHT=200;
•
static JTextField l=new JTextField(20);
•
contentPane.add(b,"South");
•
ActionListener ac=new ActionHandler();// 创建一个事件监听器
•
b.addActionListener(ac); //向事件源注册
•
}
•
}
•
//定义实现事件监听类
•
class ActionHandler implements ActionListener
•
JPanel contentPane=new JPanel();
•
contentPane.setLayout(new BorderLayout());
•
jf.setContentPane(contentPane);
•
JButton b=new JButton("清空文本框中的信息");
•
contentPane.add(l,"North");
AJFrame
内容面板
菜单条
基本组件
Tool Tips工具提示功能
Jcomponet类的功能图
绘画边框功能
可插入的观感器 自定义属性 layout支持
JComponet类的功能
无障碍功能 拖曳支持 双缓冲 键绑定
面板组件(即中间容器)
• 1.Jpanel,JScrollPane,JSliptPane,JTabbed Pane,JInternalFrame,JLayeredPane,JRoot Pane,
中间容器类
特殊中间组件类
顶层容器:JFrame,JApplet,JDialog,JWindow。所 谓的顶层容器也可以说是千米那所说的window组件了, 它是可以独立显示的组件。
中间容器:JPanel,JScrollPane,JSplitPane,JToolBar 。 所谓的中间容器也就是指那些可以充当载体,但也是 不可以独立显示的组件。通俗的说,就是一些基本控 件可以放在其中,但是他不能独立显示,必须要意图 依托顶层容器内才可以。
Jcomponet
Componet Container
JavaSwing组件间的继承 关系
Window
Frame
Dialog
JButton JTextfileld JTextArea
JTable JPanel
JFrame
JDialog
功能上划分swing组件
swing组件
顶层组件类
中间组件类
基本组件类
• 15树组件 • 16Swing观感器 • 17swing与并发 • 18swing模型架构 • 19swing的其它特性 • 20swing实现通讯系统
Swing事件处理机制
•
//这段程序代码主要是创建一个文本框和一个普通按钮组件,当单击这个按钮组件时,会触发动作事件,清空文本框中的数据
•
import javax.swing.*;
特殊容器:在GUI上起特殊作用的中间层,如 JInternalFrame,JLayeredPane,JRootPane.
这里特殊容器类其实就是中间容器类中的一种,只不过 它在图形上更加能够起到美化和专业化的作用。
基本组件:实现人机交互的组件,如 JButton,JcomboField。
• eg:上例
• //定义实现事件监听类
• class ActionHandler implements ActionListener
•{
•
public void actionPerformed(ActionEvent e)
•
{
•
new test1().l.setText("");
•
}
•}
• 2.创建事件监听器:ActionListener ac=new ActionHandler().
该课本的大概内容简介
• 第3章swing组件基础 • 4标签和按钮组件 • 5布局管理器 yout • 6面板组件 ...Pane
• 7事件处理机制 • 8列表框和下拉列表组件和下拉列表框组件 • 9进度条,时间,滑块,和分隔条组件 • 10选取器组件 • 11文本组件 ...Field • 12窗口,对话框和JApplet组件 • 13菜单条和工具条组件 • 14表格组件
• 3.向事件源注册监听器对象: b.addActionListener(ac)
•
public static void main(String[] args)
•
{
•
JFrame jf=new JFrame("测试程序");
•
jf.setSize(WIDTH,HEIGHT);
•
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
•
jf.setVisible(true);