项目二 GUI编程技术ppt课件_第1页
项目二 GUI编程技术ppt课件_第2页
项目二 GUI编程技术ppt课件_第3页
项目二 GUI编程技术ppt课件_第4页
项目二 GUI编程技术ppt课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工程二GUI编程技术 主讲:尹友明本章学习导航本章学习要点 Java GUI概述 常用容器 常用GUI组件 高级GUI组件 常用规划管理器Java事件处置教学课时:16课时5.1 Java GUI概述 图形用户界面Graphics User Interface,简称GUI就是为运用程序提供一个图形化的界面,方便用户和运用程序实现友好的交互。 CUI和GUI5.1.1 JFC简介 & 5.1.2 AWT简介 JFCJava Foundation Classes,Java根底类是一个图形框架 AWT Abstract Window Toolkit 是 Java 提供的建立图形用户界面GUI的工具集

2、JFC5.1.2 AWT简介 java.awtponent类是许多组件类如Button和Label的父类,Component类中封装了组件通用的方法和属性,如图形的组件对象、大小、显示位置、前风光和背风光、边境、可见性。 Component类常用方法5.1.3 SWING简介 Swing是Java言语在编写图形用户界面方面的新技术,Swing采用MVC模型视图控制设计范式,Swing可以使Java程序在同一个平台上运转时可以有不同外观以供用户选择。 JFC5.1.4 SWT简介 SWTStandard Widget Toolkit最初是由IBM开发的一套用于Java图形用户界面系统,用来与Sw

3、ing竞争。后来Eclipse组织为了开发Eclipse IDE环境编写的一组底层图形界面 API成了SWT的主要内容。 SWT简介1根据需求添加容器。2将组件添加到指定容器。3经过规划管理器对容器中的组件进展组织陈列。4响运用户对组件的操作即事件的处置。Java图形界面设计普经过程 5.1.5 Java图形界面设计普经过程 组件是图形用户界面最根本的组成部分;组件是一个可以以图形化的方式显示在屏幕上并能与用户进展交互的对象;组件不能独立显示出来,必需将组件放在一定的容器中才可以显示出来。组件容器类Container是Component的一个子类;容器本身也是一个组件,具有组件的一切性质;容器

4、还具有放置其它组件和容器的功能。容器 规划管理器用来管理组件放置在容器中的位置和大小;每个容器都有一个规划管理器;运用规划管理器可以使java生成的图形用户界面具有平台无关性;规划管理器LayoutManager本身是一个接口,通常运用的是实现了该接口的类。 规划管理器 5.2.1 框架 框架是图形用户界面最根本的部分,框架是带有标题和边境的顶层窗口,框架的大小包括边境指定的一切区域,框架的默许规划为 BorderLayout。 构造方法5.2.1 框架 常用方法【例5-1】创建简单JFrameDemo5_1.java 5.2.2 面板 面板是最简单的容器类,运用程序可以将其他组件放在面板提供

5、的空间内,这些组件也可以包括其他面板。与框架不同,面板是一种透明的容器,既没有标题,也没有边框,就像一块透明的玻璃。面板不能作为最外层的容器单独存在,它首先必需作为一个组件放置到其它容器普通为框架中,然后把组件添加到它里面。 JPanel【例5-2】运用JPanel分割JFrameDemo5_2.java 5.2.3 小程序 Java Applet是用Java 言语编写的一些小运用程序,这些程序直接嵌入到页面中,由支持Java的阅读器IE或Nescape解释执行。 Applet的下载和执行由阅读器自动完成。Applet支持客户端与Web效力器的交互,具有动态执行才干。Applet的执行速度不受

6、网络速度的限制。 Applet5.2.4 Swing容器 Swing中的容器除了上述的JFrame、JPanel和JApplet外,还包括其它的容器,这些容器的称号和功能见表5-5。Swing容器1容器是一个笼统的概念,请借助于生活中的实例进展了解。2可以经过阅读英文的API文档或汉化的API文档了解常用GUI类。 操作提示1创建一个框架frmMain,称号为“框架演示,大小为400X300,位置为200,200。2创建四个面板pnlMain、pnlFirst、pnlSecond和pnlThird,将pnlMain设置为框架的内容面板,然后将pnlFirst、pnlSecond和pnlThir

7、d三个面板添加其中,并经过设置不同的颜色来区分不同的面板。参考界面如图5-7所示。 3查阅Java API,了解Swing包和AWT的类层次关系。 操作要求5.3.1标签和按钮 JLabel构造方法标签提供了一种在运用程序界面中显示不可修正文本的方法。标签缺省文本对齐方式是左对齐。 5.3.1标签和按钮 JLabel常用方法5.3.1标签和按钮 按钮构造方法和常用方法按钮是用于触发特定动作的组件,用户可以根据需求创建纯文本的或带图标的按钮。 5.3.1标签和按钮 标签和按钮运用实例【例5-3】运用标签和按钮构造图形用户界面Demo5_3.java 框架、面板与组件的关系框架面板按钮5.3.2单

8、行文本框和多行文本框 JTextField构造方法文本框显示指定文本并允许用户编辑文本,用户可以经过文本框来实现输入、错误检查之类的功能。 5.3.2单行文本框和多行文本框 JTextField常用方法5.3.2单行文本框和多行文本框 JPasswordField构造方法和常用方法密码框JPasswordFiled表示可编辑的单行文本的密码文本组件。 5.3.2单行文本框和多行文本框 JTextArea构造方法和常用方法Swing中的JTextArea类和AWT中的TextArea类都表示可编辑的多行文本组件。 5.3.2单行文本框和多行文本框 文本框和密码框运用实例【例5-4】运用标签、文本

9、框、密码框、按钮等组件构建用户登录界面Demo5_4.java 1留意图片文件的类型和途径的运用。2留意根本组件、内容容器和顶层容器之间的关系。操作提示1经过承继JFrame的方式创建框架类MyFrame和框架对象mf。2创建三个标签其中一个为图片标签、两个文本框、一个密码框、两个按钮文字图片按钮的登录效力器界面参考界面如图5-10所示。3合理设置框架的大小等属性,将组件添加到框架上。4经过MyFrame类的构造方法完成框架的创建。操作要求5.3.3复选框和单项选择按钮 单项选择按钮可以让用户进展选择或取消选择,与复选按钮可以选择多个选项不同,单项选择按钮每次只能选择其中一个选项。JRadio

10、Button 对象与 ButtonGroup 对象配合运用可创建一组按钮,保证一次只能选择其中的一个按钮。 JRadioButton5.3.3复选框和单项选择按钮 复选框JCheckbox允许用户在多种选择中选择一个或多个选项。是一个可处于“开true 或“关false 形状的图形组件。 JCheckBox5.3.4列表框和组合框 列表框显示一系列的选项,用户可以从中选择一项或多项。列表框支持滚动条,可以阅读多项。 JList5.3.4列表框和组合框 组合框的功能类似于列表框,但与列表框只能选择不同,组合框还提供一个文本框以进展文本的编辑。 JComboBox单项选择钮、复选框、列表框和组合框

11、运用实例 运用实例【例5-5】运用单项选择钮、复选框、列表框、组合框等构建字体设置器界面Demo5_5.java 1性别默许选择“男。2组合框中的年龄经过一个For循环得到列表数据。操作提示1创建用户注册界面参考界面如图5-12所示。2将“喜好归为一组。3组合框可输入也可选择,可供选择的年龄为16至90之间。 操作要求5.3.5 菜单和工具栏 Swing中运用JMenuBar类实现菜单栏,经过将菜单JMenu对象添加到菜单栏JMenuBar可以构造运用程序菜单。 菜单栏(MenuBar)5.3.5 菜单和工具栏 菜单JMenu是一个包含菜单项JMenuItem的弹出窗口,用户选择菜单栏JMen

12、uBar上的项时会显示该菜单项JMenuItem。 下拉菜单(JMenu)5.3.5 菜单和工具栏 JMenuItem用来实现菜单中的选项。菜单项本质上是位于列表中的按钮,当用户选择“按钮时,将执行与菜单项关联的操作。 菜单项JMenuItem 5.3.5 菜单和工具栏 工具栏是窗口中提供的一种快捷操作的功能区,可以经过工具栏上的按钮,得到快捷的功能。 工具栏JToolbar 菜单和工具栏运用实例 运用实例【例5-6】运用菜单和工具栏构建记事本主界面Demo5_6.java 1可以参考Windows系统下的“写字板的界面。2留意工具栏按钮图标文件的途径。 操作提示1创建写字板的菜单和工具栏界面

13、参考界面如图5-14所示。2创建“文件、“编辑、“查看、“插入、“格式和“协助菜单。3在“格式菜单下,创建菜单项。4创建“新建、“翻开、“保管、“打印和“预览的工具栏按钮。 操作要求5.4.1对话框 Java桌面程序中的简单的对话框可以运用Swing中的JOptionPane类来实现,JOptionPane类中运用showXXXDialog方法实现不同类型的对话框。 JOptionPane类型5.4.1对话框 JOptionPane操作按钮类型和前往值类型5.4.2表格 JTable 用来显示和编辑规那么的二维单元表。 设计运用 JTable 的运用程序时,要严厉留意用来表示表数据的数据构造

14、。JTable 运用独一的整数来援用它所显示的模型的行和列。 表格概述5.4.2表格 运用JTable时,经常要用到AbstractTableModel类 常用方法AbstractTableModel类表格运用实例 运用实例【例5-7】运用表格显示学生详细信息Demo5_7.java5.4.3树 运用JTree类,可以构造树状图展现一个层次关系清楚的一组数据,给用户一个直观而易用的觉得。 树型组件概述树型组件运用实例 运用实例【例5-8】运用树型构造显示学校专业汇总信息Demo5_8.java 1树型构造和表格的规划不要求非常准确。2树型构造的结点前面不需求加图标。操作提示1创建类似于Wind

15、ows系统中的计算机管理的操作界面参考界面如图5-18所示。2运用两个面板分别放置树型构造和表格。操作要求5.5.1 流式规划 为了坚持组件的平台独立性,Java引入了规划管理器来控制组件的规划。 FlowLayout流规划是Panel和Applet的默许规划管理器。在FlowLayout中,组件在容器中按照从上到下,从左到右的顺序进展陈列,假设当前行放置不下,那么换行放置。 概述5.5.2 网格规划 GridLayout网格规划规划管理器使容器中各个组件呈网格状规划,平均占据容器的空间。 概述5.5.3 边境规划 BorderLayout边境规划是Window、Frame和Dialog的缺省

16、规划管理器。BorderLayout规划管理器把容器分成North、South、East、West和Center共5个区域,每个区域只能放置一个组件。假设容器采用BorderLayout进展规划管理,在用add方法添加组件到容器时,必需注明添加到哪个位置。运用BorderLayout时,假设容器大小发生变化,组件的相对位置不变,但大小发生变化。其构造方法有两种:1Borderlayout:以默许方式组件没有间距构造边境规划。2Borderlayoutint hgap,int vgap:以指定程度间距和垂直间距构造边境规划。其中:hgap和vgap分别为组件间程度和垂直方向上的空白空间。 概述5

17、.5.4 卡片规划 CardLayout卡片式规划规划管理器可以协助程序员处置两个以致更多的成员共享同一显示空间的问题 。概述规划管理运用实例 运用实例【例5-9】运用各种规划管理进展组件规划Demo5_9.java 5.5.5 网格袋规划 GridBagLayout网格袋规划是功能最强大、最复杂和最难运用的规划管理器。 概述【例5-10】运用网格袋规划规划界面组件Demo5_10.java 5.5.6 空规划 Java也允许程序员不运用规划管理器,而是直接指定各个组件的位置。经过setLayoutnull可以设置容器为空规划管理,再经过组件的setBoundsint,int,int,int方

18、法对组件的位置和大小进展控制 。【例5-11】运用空规划设计用户登录界面Demo5_11.java 概述1选择了规划方式之后,还需求留意设置框架的大小。2留意合理运用面板进展组件分组规划。操作提示1运用边境规划BorderLayout对“课堂模拟2界面中的组件重新进展规划。2运用空规划方式对“课堂模拟3 界面中的组件重新进展规划。3运用适宜的规划管理器对“课堂模拟5界面中的组件重新进展规划。4运用适宜的规划管理器对【例5-5】界面中的组件重新进展规划。操作要求5.6.1 Java事件模型 事件就是发生的事情。 Java中,关于事件的信息是被封装在一个事件对象中。 一切的事件对象都是从java.

19、util.EventObject类派生而来,如ActionEvent事件对象就是它的一个子类 。事件事件源是产惹事件的对象,不同的事件源会产生不同的事件。例如:单击按钮,将产生动作事件ActionEvent;封锁窗体,将产生窗口事件WindowEvent。这里的按钮和窗体就是事件源。 事件源事件监听器担任侦听事件的发生,并根据事件对象中的信息来决议对事件的呼应。 监听器可用addActionListener方法添加,用removeActionListener方法删除。 事件监听器5.6.1 Java事件模型 事件源首先要授权事件监听器担任该事件源上事件的处置;用户的动作在事件源上能够产生多种事

20、件对象,由于有了授权过程,不同的事件监听器会分别对不同的事件对象进展处置。 Java事件处置机制5.6.2 事件类型 与AWT有关的事件类都由java.awt.AWTEvent类派生,这些AWT事件分为两大类:低级事件和高级事件。低级事件是指基于组件和容器的事件,高级事件是基于语义的事件。 概述5.6.3 AWT事件及其相应的监听器接口 为了可以很好的编写事件处置程序,必需了解Java中的事件类型以及对不同事件进展处置的接口名,最重要的是要掌握各种接口中呼应对应事件的方法称号。由于在编写事件时处置者需求实现事件对应的接口,也就是要重写接口中的每一个方法,以便对组件上产生的不同事件进展处置。 概

21、述5.6.3 AWT事件及其相应的监听器接口 Java经过为Listener接口提供适配器类的方式简化事件处置代码。普通情况下只对有一个以上方法的接口提供适配器,运用适配器进展事件处置时,只需求对特定的方法进展重写。 概述ComponentAdapter:组件适配器。ContainerAdapter:容器适配器。FocusAdapter:焦点适配器。KeyAdapter:键盘适配器。MouseAdapter:鼠标适配器。MouseMotionAdapter:鼠标挪动适配器。WindowAdapter:窗口适配器。Java.awt.event包中定义的事件适配类5.6.4 Swing事件及其相应的监听器接口 Swing的事件处置机制继续沿用AWT的事件处置机制,根本的事件处置运用java.awt.event包中的类实现,同时javax.swing.event包中添加了一些新的事件及其监听器接口。 概述5.6.5 典型事件处置程序 【例5-12】在“例5-11的程序根底上运用事件监听实现用户登录的业务处置Demo5_12.java 【例5-13】运用事件监听内部类实现对“例5-12中事件的处置Demo5_13.java 动作事件5.6.5 典型事件处置程序 【例5-14】运用键盘事件Demo5_14.java键盘事件5.6.5 典型事件处置程序 【

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论