Java Swing GUI 编程技术及应用实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java Swing GUI 编程技术及应用实例
1、Swing 组件技术简介 (1)GUI界面 用户与程序之间交互的一个控制面板,其内包含有 菜单、控件(或组件)和容器并能响应用户的事件。 (2)Swing组件是纯Java代码实现 Swing没有本地代码并不依赖操作系统的支持(但 JFrame、JDialog、JApplet除外),因此能够实现与 OS平台无关。 Swing在不同的平台上表现一致,并且有能力提供本地 窗口系统不支持的其它特性,和具备“可插接的外观和 感觉”特性(可以动态改变)。 (3)Swing组件分为四大类
顶级容器 JFrame、JApplet、 JDialog 特殊功能的容器 JLayeredPanel、 JRootPane InternalFrame、
JPanel、JScrollPanel、JToolbar JSplitPanel、JTabbedPanel、 基本组 件 JButton、 JCombobox、 JList、 JMenu、 JSlider、 JTextField 等
(1)与菜单编程实现有关的各个类 菜单条JMenuBar类——利用 setJMenuBar()方法加入窗口中 级联菜单JMenu类 菜单项JMenuItem类 选择性菜单项 JCheckBoxMenuItem类 选择性的菜单项但为圆点的 JRadioButtonMenuItem类 (2)主要的编程步骤
●基本组件 ●菜单条菜单组件 ● 容器组件 ● 弹出式菜单组件
(4)Swing组件所在的包
javax.swing 每个组件都以“J” 开头,各个组 件都是JComponent的子类。
对Swing组件的学习 应该重点掌握各个 组件的属性、方法 和事件编程 普通功能的容器
2、Swing组件的分类
(3)JToolBar类的构造函数 JToolBar():创建出水平方向的工具条(默认为 HORIZONTAL)。 JToolBar(int orientation):创建出指定方向的工 具条。
JToolBar(String name):创建出指定名称的工具条。
JToolBar(String name, int orientation):创建出
7、Swing GUI包中的其它主要类介绍
8、 Swing事件编程技术 (1)事件 用户对程序的某一种功能性操作。
事件源(Event source):产生事件的组件。 事件处理者(Event handler):接收、解析和处理事
件类对象、实现和用户交互的方法。
(2)Swing中的事件分类 组件类事件(它们均是当组件的状态发生变化时产生) 动作类事件(它们均对应用户的某一种功能性操作动作) (3)事件接口和类所在的包 java.awt.event包:它提供Swing 基本事件所需的各种类 和接口。
(3)示例代码
JFrame实例化后并不显示,需调用setVisible(true); 大小默认为(0,0),需调用setSize(width,height); 对窗口执行setDispose和setHide两种行为,可以销毁或 者隐藏窗口,但此时的主程序并不结束。
5、窗口主菜单条及各个菜单编程
6、工具条JToolBar编程应用 (1)JToolBar类 JToolBar也是一种容器组件并按照行或列对组件(它 们一般为按钮)进行分组。
(2)工具条的方向 缺省时为水平方向但可以使用SwingConstants. HORIZONTAL或SwingConstants.VERTICAL来设置其方向。
方法二
先利用JPanel类生成一个内容面板对象,并将各个组 件加入到内容面板中,然后再调用setContentPane()方法 将内容面板对象加入到当前容器中。
4、JFrame 编程和应用 (1)主要的作用 代表应用程序的主窗口。 (2)编程实现的基本步骤 创建一个JFrame类的子类以代表程 序的窗口; 在自己的子类的构造函数中调用上 层基类的构造函数;并设置窗口的 大小等初始化窗口; 设置在用户关闭窗口时则应该完成 什么行为;最后显示出该窗口。
创建出菜单条JMenuBar对象并调用JFrame类中的
setJMenuBar()将菜单条加入到主窗框中
创建出各个主级联菜单——JMenu类对象及其内的项目 将各个菜单项目添加到上一级JMenu对象中;然后注册
各个菜单项目的事件监听器对象(对JMenuItem对象添 加ActionListener监听器;对JCheckboxMenuItem则可 以添加ItemListener接口)。 将各个主级联菜单Menu对象添加到JMenuBar中。 (3)菜单的编程要点
javax.swing.event包:它为新增加的组件定义了相应的 事件类和事件监听器接口。
指定方向和名称的工具条。 (4)工具条上的工具按钮的事件编程 类似于一般的按钮事件编程 可以分别为各个不同的按钮单独进行பைடு நூலகம்件编程。 (5)编程方法 创建出JToolBar对象 然后采用add(Object)方法将各个组件(可以为按钮或 其它组件)加入到工具条中。 最后再将工具条加入到内容面板的“北部”区域中
不可编辑信息显示 组件
JLabel、 JProgressBar、 JToolTip等
可编辑格式化信息显示 组件
JColorChooser、 JFileChooser、 Jtabel、 JTextArea、 JTree等
3、在Swing的顶级容器中添加内部组件的规则
(1)对JFrame与JDialog等顶级的容器的应用规则 在添加组件时不能直接调用容器的add()方法直接添加 到容器中,而是要添加到一个与Swing顶层容器相关联 的内容面板(Content Panel)中。 因为JFrame 是一个框架。 (2)添加组件的方法 方法一:利用getContentPane()获得当前容器的内容 面板对象,再调用内容面板 容器的add()方法加入各 个其它组件。
1、Swing 组件技术简介 (1)GUI界面 用户与程序之间交互的一个控制面板,其内包含有 菜单、控件(或组件)和容器并能响应用户的事件。 (2)Swing组件是纯Java代码实现 Swing没有本地代码并不依赖操作系统的支持(但 JFrame、JDialog、JApplet除外),因此能够实现与 OS平台无关。 Swing在不同的平台上表现一致,并且有能力提供本地 窗口系统不支持的其它特性,和具备“可插接的外观和 感觉”特性(可以动态改变)。 (3)Swing组件分为四大类
顶级容器 JFrame、JApplet、 JDialog 特殊功能的容器 JLayeredPanel、 JRootPane InternalFrame、
JPanel、JScrollPanel、JToolbar JSplitPanel、JTabbedPanel、 基本组 件 JButton、 JCombobox、 JList、 JMenu、 JSlider、 JTextField 等
(1)与菜单编程实现有关的各个类 菜单条JMenuBar类——利用 setJMenuBar()方法加入窗口中 级联菜单JMenu类 菜单项JMenuItem类 选择性菜单项 JCheckBoxMenuItem类 选择性的菜单项但为圆点的 JRadioButtonMenuItem类 (2)主要的编程步骤
●基本组件 ●菜单条菜单组件 ● 容器组件 ● 弹出式菜单组件
(4)Swing组件所在的包
javax.swing 每个组件都以“J” 开头,各个组 件都是JComponent的子类。
对Swing组件的学习 应该重点掌握各个 组件的属性、方法 和事件编程 普通功能的容器
2、Swing组件的分类
(3)JToolBar类的构造函数 JToolBar():创建出水平方向的工具条(默认为 HORIZONTAL)。 JToolBar(int orientation):创建出指定方向的工 具条。
JToolBar(String name):创建出指定名称的工具条。
JToolBar(String name, int orientation):创建出
7、Swing GUI包中的其它主要类介绍
8、 Swing事件编程技术 (1)事件 用户对程序的某一种功能性操作。
事件源(Event source):产生事件的组件。 事件处理者(Event handler):接收、解析和处理事
件类对象、实现和用户交互的方法。
(2)Swing中的事件分类 组件类事件(它们均是当组件的状态发生变化时产生) 动作类事件(它们均对应用户的某一种功能性操作动作) (3)事件接口和类所在的包 java.awt.event包:它提供Swing 基本事件所需的各种类 和接口。
(3)示例代码
JFrame实例化后并不显示,需调用setVisible(true); 大小默认为(0,0),需调用setSize(width,height); 对窗口执行setDispose和setHide两种行为,可以销毁或 者隐藏窗口,但此时的主程序并不结束。
5、窗口主菜单条及各个菜单编程
6、工具条JToolBar编程应用 (1)JToolBar类 JToolBar也是一种容器组件并按照行或列对组件(它 们一般为按钮)进行分组。
(2)工具条的方向 缺省时为水平方向但可以使用SwingConstants. HORIZONTAL或SwingConstants.VERTICAL来设置其方向。
方法二
先利用JPanel类生成一个内容面板对象,并将各个组 件加入到内容面板中,然后再调用setContentPane()方法 将内容面板对象加入到当前容器中。
4、JFrame 编程和应用 (1)主要的作用 代表应用程序的主窗口。 (2)编程实现的基本步骤 创建一个JFrame类的子类以代表程 序的窗口; 在自己的子类的构造函数中调用上 层基类的构造函数;并设置窗口的 大小等初始化窗口; 设置在用户关闭窗口时则应该完成 什么行为;最后显示出该窗口。
创建出菜单条JMenuBar对象并调用JFrame类中的
setJMenuBar()将菜单条加入到主窗框中
创建出各个主级联菜单——JMenu类对象及其内的项目 将各个菜单项目添加到上一级JMenu对象中;然后注册
各个菜单项目的事件监听器对象(对JMenuItem对象添 加ActionListener监听器;对JCheckboxMenuItem则可 以添加ItemListener接口)。 将各个主级联菜单Menu对象添加到JMenuBar中。 (3)菜单的编程要点
javax.swing.event包:它为新增加的组件定义了相应的 事件类和事件监听器接口。
指定方向和名称的工具条。 (4)工具条上的工具按钮的事件编程 类似于一般的按钮事件编程 可以分别为各个不同的按钮单独进行பைடு நூலகம்件编程。 (5)编程方法 创建出JToolBar对象 然后采用add(Object)方法将各个组件(可以为按钮或 其它组件)加入到工具条中。 最后再将工具条加入到内容面板的“北部”区域中
不可编辑信息显示 组件
JLabel、 JProgressBar、 JToolTip等
可编辑格式化信息显示 组件
JColorChooser、 JFileChooser、 Jtabel、 JTextArea、 JTree等
3、在Swing的顶级容器中添加内部组件的规则
(1)对JFrame与JDialog等顶级的容器的应用规则 在添加组件时不能直接调用容器的add()方法直接添加 到容器中,而是要添加到一个与Swing顶层容器相关联 的内容面板(Content Panel)中。 因为JFrame 是一个框架。 (2)添加组件的方法 方法一:利用getContentPane()获得当前容器的内容 面板对象,再调用内容面板 容器的add()方法加入各 个其它组件。