设计图形界面SwingJFrame.ppt
《设计图形界面SwingJFrame.ppt》由会员分享,可在线阅读,更多相关《设计图形界面SwingJFrame.ppt(57页珍藏版)》请在三一文库上搜索。
1、设计图形界面 Swing容器,1,目标和要求,目标 了解Swing容器(窗体)组件 会使用常用几种容器JFrame,JPanel 掌握布局管理器的使用 掌握事件的响应与处理 了解AWT组件图形设计 要求 会设计简单的图形界面 完成并上交计算器、记事本等简单图形界面,2,要求,3,本单元内容,图形用户界面(GUI)简介 Java图形用户界面-AWT Java图形用户界面-Swing JAVA的GUI类的层次结构 框架JFrame 在框架中添加组件,4,主要内容,图形用户界面概述 AWT和Swing介绍 Swing常用窗体和组件 事件处理 完成简单图形界面,递交作品,5,图形用户界面概述,图形界面
2、概念 图形界面简介 图形界面构成,6,图形用户界面概念(GUI),字符界面 用字符串、命令行的方式与用户交互 图形用户界面:Graphics User Interface 用直观的图形来表示数据 用直观、方便的GUI标准组件来接收、发送命令 GUI组成成分的标准化 使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,实现人机交互。,7,图形用户界面简介,图形用户界面的构成 容器:布局、安排 标准组件 用户自定义成分,8,容器,标准 组件,用户自定义成分,用户界面设计原则,控制权在用户 界面与操作的风格一致性 宽容(容错)性 简洁与美观并重,9,AWT和Swing介绍,Java图形用户界
3、面的组件和事件由java.awt和java.swing包共同提供。 AWT(抽象窗口工具集Abstract Window Tookit,AWT),称为重型组件 主要包括组件、事件处理模型、图形和图像工具、布局管理等。 Swing是AWT的一个扩展,称为轻型组件。,10,AWT与Swing,Swing轻量,AWT重量 Swing组件完全用Java语言实现,没有本地代码,不依赖平台。功能强大。 AWT组件依赖本地,由本地平台负责,不同操作系统显示外观可能不同,缺乏平台独立性。 Swing美观、易用、组件量大,缺点:运行慢。 JTable。JTree 显示图像(image)和图标(icon) AWT
4、提供了一个丰富的图形环境,例如画图和制表包 Swing 是在 AWT 组件基础上构建的,但是不能完全替代AWT,Swing 使用了 AWT 的事件模型和支持类,11,AWT组件介绍,12,TextField 文本行类,TextArea 文本区类,13,javax.swing,Swing组件介绍,14,AWT介绍,容器 有三种类型的容器:Window、Panel、ScrollPane,常用的有Panel, Frame, Applet。 组件 文本框和文本区域 单行文本框TextField 多行文本区域TextArea 标签Label 按钮(Button) 选择型组件 选择框Checkbox (单
5、选/复选) 下拉列表 Choice 列表框 List 菜单 菜单条(MenuBar) 菜单(Menu) 菜单项(MenuItem) 对话框-Dialog,15,AWT介绍,布局管理器负责处理将容器内的所有组件的大小、位置、顺序、间隔等 FlowLayout(流布局 ) BorderLayout GridLayout CardLayout GridBagLayout null,16,AWT介绍,事件 让图形界面接收用户的操作,就必须给各个组件加上事件处理机制 主要有 WindowEvent( 窗口事件:关闭窗口,窗口闭合,图标化) FocusEvent( 焦点事件:焦点的获得和丢失) KeyEv
6、ent( 键盘事件:键按下、释放) MouseEvent( 鼠标事件:鼠标单击,移动) ActionEvent(动作事件:按钮按下,TextField中按Enter键),17,AWT介绍,绘制图形Graphics类 绘制图片,18,19,Swing介绍,Swing是AWT的扩展,组件比AWT丰富,美观,对操作系统依赖少。 Swing成为Java图形界面程序设计的主要工具。 AWT组件和Swing组件混和使用会产生错误,建议不要混用。 主要学习Swing。,20,Swing主要学习内容,容器 框架窗体JFrame 面板JPanel JDialog JScrollPane 组件 按钮组件 标签组件
7、 文本组件 菜单组件,21,布局管理 流布局 边界布局 网格布局 事件监听 鼠标事件 键盘事件 窗体事件 动作事件,1.JAVA的GUI类的层次结构,Java支持GUI的类分为组件类、容器类和辅助类 Component所有图形界面组件类的超类,JComponent是所有Swing组件类的超类,它的常用子类有JButton、JTextField、JTextArea、JRadioButton、JMenu等。 容器类一个容器可以容纳多个组件,并使它们成为一个整体。Frame、Panel等是AWT的容器类,类名前加J一般是Swing的容器类。 辅助类用来描述GUI组件的属性,如图形环境、颜色、字体、大
8、小。常用辅助类有Color、Graphics、Font、LayoutManager等。,22,2.JComponent组件的分类,JComponent是一个抽象类,用于定义所有子类组件的一般方法,其类层次结构如下所示: java.lang.Object | +-java.awt.Component | +-java.awt.Container | +-javax.swing.JComponent 并不是所有的Swing组件都继承于JComponent类,如JFrame、JDialog、JApplet。 JComponent类继承于Container类,所以凡是此类的组件都可作为容器使用。,23
9、,2.JComponent组件的分类,组件从功能上分可分为: 顶层容器 JFrame,JApplet,JDialog,JWindow共4个 中间容器 JPanel,JScrollPane,JSplitPane,JToolBar 特殊容器:在GUI上起特殊作用的中间层 JInternalFrame,JLayeredPane,JRootPane. 基本控件:实现人际交互的组件 JButton, JComboBox, JList, JMenu, JSlider, JtextField等 不可编辑信息的显示:向用户显示不可编辑信息的组件 JLabel, JProgressBar, ToolTip。 可
10、编辑信息的显示:向用户显示能被编辑的格式化信息的组件 JColorChooser, JFileChooser, JTable, JTextArea。,24,3.使用Swing的基本规则,Swing组件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(content pane)上。 内容面板是顶层容器包含的一个普通容器,它是一个轻量级组件。基本规则如下: (1)把Swing组件放入一个顶层Swing容器的内容面板上 (2)避免使用非Swing的重量级组件。,25,4.Swing窗口层次,Swing窗口包含5个层次 顶层容器(Top level Container):
11、窗口容器对象,可以再加入其他的窗口对象 根面板:是顶层容器中包含的最内层,一般无法在这一层进行操作 层次面板:加上此层上的对象可以设定其层次,不会被内容面板中的对象屏蔽 内容面板(Content Pane):大部分的可视对象都放在这一层上,一般程序中必须用getContentPane()方法来获取内容面板 玻璃面板:主要用于产生绘图效果以及触发窗口程序的各种事件,26,27,窗口,Content Pane,Glass Pane,Root Pane,Layered Pane,4.Swing窗口层次,5.Swing程序结构简介,Swing的程序设计一般可按照下列流程进行: 1 导入Swing包 2
12、 设置顶层容器 3 设置组件 4 增加组件到容器 5 进行事件处理,28,Swing编程步骤,1、导入Swing包 首先必须导入Swing包: import javax.swing.*; 在大多数Swing程序中,可能还需要导入两个主要的AWT包: import java.awt.*; import java.awt.event.*;,29,Swing编程步骤,2、设置顶层容器 在Swing GUI程序中,至少应包含有一个顶层Swing容器。对于大多数程序而言,顶层的Swing容器是JFrame,JDialog或JApplet。 每一个JFrame对象实现一个主窗口,每一个JDialog对象实
13、现一个二级窗口,每一个JApplet对象在浏览器窗口中实现一个Applet的显示域 顶层Swing容器向其上的Swing组件提供了绘画和事件处理的支持。,30,Swing编程步骤,2、设置顶层容器 即使是最简单的Swing程序,也会包含多个层次,其根总是顶层容器,其他所有容器或组件都被放置在根容器中。 每一个顶层容器间接第含有一个中间容器,称为内容窗格(contentpane)。对于大多数程序,我们无需知道在顶层容器和内容窗格之间有些什么。内容窗格直接或间接的含有所有可见的组件,但是,如果顶层容器有一个菜单条,那么菜单条通常被放置在内容窗格之外的某个位置。 增加一个组件到一个容器,可以使用ad
14、d方法。add方法至少应有一个参数,即需增加的组件,而且,有时可能还需要另外一个参数来提供布局信息。,31,Swing编程步骤,3、设置组件 这一步中,主要是实例化相关Swing组件,并进行相关设置。,32,JButton bt=new JButton(“Im a Swing button!“); bt.setMnemonic(keyEvent.VK-I); bt.addActionListener(.create an action listener.);,Swing编程步骤,4、增加组件到容器 JPanel pane=new JPanel(); pane.setBorder(BorderF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 图形界面 SwingJFrame
链接地址:https://www.31doc.com/p-2679176.html