Ja程序基础及设计 3_第1页
Ja程序基础及设计 3_第2页
Ja程序基础及设计 3_第3页
Ja程序基础及设计 3_第4页
Ja程序基础及设计 3_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第六章Java图形用户界面程序设计260261第一节认识图形用户界面设计第二节图形用户界面布局第三节事件委托处理认识图形用户界面设计第一节262一、图形用户界面概述1. 图形用户界面的概念图形用户界面是一种人与计算机进行通信交互的界面显示方式,它采用图形方式显示计算机用户操作界面,并允许用户使用鼠标、键盘等输入设备操纵屏幕上的图形元素(图标、按钮、菜单等),以协助用户完成执行命令、调用文件、启动程序等操作。相较于传统的命令行窗口,GUI由窗口、下拉菜单、对话框及其对应的图形化控制机制构成,在操作与视觉上更加直观、易用。同时,GUI具有动作操作标准,即相同的操作总是以同样的方式来完成。用户看到和操作的都是图形对象,这些图形对象采用计算机图形学的技术来创建和呈现。2632. 图形用户界面的作用(1)提供直观的操作界面GUI通过图形化的元素,如图标、按钮、菜单等,为用户提供直观的操作界面。(2)提高用户体验GUI的设计注重用户友好性和美观性,使用户能够更轻松地与计算机系统进行交互。(3)提高工作效率相比于传统的命令行窗口,GUI更加直观、易用,使用户能够更快速地完成任务。264二、图形用户界面程序设计工具1. 图像窗口工具包AWTJava语言在设计之初,就十分重视图形用户界面的实现。早在JDK1.0发布时,Sun公司就为开发者提供了一套图形用户界面类库,并希望凭借Java语言“一次编译,到处运行”的优势,能够在所有平台上运行。这套Java语言的基本类库被称为抽象窗口工具类(abstractwindowtoolkit,AWT),它为Java应用程序提供了基本的图形组件。AWT的图形化界面风格依赖于运行系统平台的GUI。如果用户在UNIX系统上进行开发,它就是UNIX界面风格。265在JRE系统库的java.desktop模块中,可以确定java.awt类库包的位置。AWT类库所在的位置如图所示。266AWT类库所在的位置在java.awt包中,提供了基本的GUI设计工具,主要包括组件(Component)、容器(Container)和布局管理器(LayoutManager)。Component类是一个抽象类,因此并不能独立地绘制图形,必须将组件放在一定的容器中才能展示图形。AWT类库中不同组件间的继承关系如图所示。267AWT类库中不同组件间的继承关系2. 轻量级工具包Swing(1)Swing的概念Swing工具包开发图形界面比AWT更优秀,因为Swing工具包是一种轻量级组件,它采用100%的Java实现,不再依赖于本地平台的图形界面,可以在所有平台上保持相同的效果,支持跨平台运行。(2)Swing工具包的优势Swing工具包提供了比AWT工具包更多的图形界面组件,可以开发出更美观的图形界面。由于AWT直接调用底层平台的GUI来实现,而不同平台的GUI组件存在差异,所以如果程序需要兼容多种平台,AWT就需要使用这些平台上GUI组件的交集,这在一定程度上限制了AWT所支持GUI组件的丰富性。2683. JFrame等组件Swing工具包的组件很多,按照Swing工具包的组件功能分类,JFrame属于顶层容器,JPanel属于中间容器,而JButton、JPasswordField与JTextField属于基本组件。269(1)JFrameJFrame继承自java.awt.Frame类并且是其拓展版本,JFrame的继承关系如图所示。JFrame为用户提供更丰富的功能和更灵活的界面设计选项,主要用于创建顶层窗体并构建用户界面,使开发人员可以轻松地创建具有标题栏、边框和控件的窗体,并实现各种交互效果。270JFrame的继承关系JFrame类的默认构造方法见下表。271JFrame类的默认构造方法在窗体创建后,需要对窗体进行大小、位置、是否可见等设置时,JFrame类提供了相应的方法。JFrame类提供的常用方法见下表。272JFrame类提供的常用方法(2)JPanelJPanel继承自javas.swing.JComponent,JPanel的继承关系如图所示。JPanel必须放置在窗体容器中使用,而无法脱离窗体类独自使用。273JPanel的继承关系JPanel类的默认构造方法见下表。274JPanel类的默认构造方法在创建JPanel后,需要对面板进行添加组件、设置面板背景色、设置布局管理器等操作时,JPanel类提供的常用方法见下表。275JPanel类提供的常用方法(3)JButtonJButton继承自javax.swing.AbstractButton,JButton的继承关系如图所示。它可以显示文本与图标,实现各种按钮的样式与功能。276JButton的继承关系JButton类的默认构造方法见下表。277JButton类的默认构造方法在创建JButton后,需要对按钮进行文本设置、悬浮提示、监听器添加等操作时,JButton类提供的常用方法见下表。278JButton类提供的常用方法(4)JPasswordFieldJPasswordField继承自javax.swing.JTextField,JPasswordField的继承关系如图所示。JPasswordField是Swing中的一个文本框组件,与普通的文本框不同,用于接收密码输入。输入JpasswordField中的内容会以字符形式显示,通常显示为星号或其他符号,从而隐藏实际输入的密码内容,以增加安全性。279JPasswordField的继承关系JPasswordField类的默认构造方法见下表。280JPasswordField类的默认构造方法在创建JPasswordField后,需要对密码框进行输入字符掩码、文本获取、监听器设置等操作时,JPasswordField类提供的常用方法见下表。281JPasswordField类提供的常用方法(5)JTextFieldJTextField继承自javax.swing.text.JTextComponent,JTextField的继承关如图所示。JTextField用于接受单行文本输入,是一个文本框,允许用户在其中输入文本内容。282JTextField的继承关系JTextField类的默认构造方法见下表。283JTextField类的默认构造方法与JPasswordField类似,在创建JTextField后,需要对文本框进行文本获取、文本设置、监听器添加等操作时,JTextField类提供的常用方法见下表。284JTextField类提供的常用方法图形用户界面布局第二节285一、布局管理器在Java程序中,布局管理器(LayoutManager)是用于管理和控制GUI组件在容器中摆放位置和形状大小的工具。布局管理器负责确定每个组件在容器中的位置,并确保它们在窗口调整大小或布局变化时能够正确地重新排列。286在GUI设计中,布局管理器扮演着至关重要的角色,其可帮助开发人员有效地组织和布局GUI组件,以创建具有良好外观和用户友好性的交互界面。不同的布局管理器有不同的布局方式,如流布局(FlowLayout)、网格布局(GridLayout)、边界布局(BorderLayout)、卡片布局(CardLayout)等,开发人员可以根据需要选择合适的布局管理器来实现所需的界面布局效果。通过合理地使用布局管理器,可以提高GUI界面的可维护性、可扩展性和用户体验。布局管理器的主要作用包括以下几点。2871. 自动布局根据布局管理器的设置,自动调整组件的位置和大小,以适应容器的大小和布局需求。2. 组件排列确定组件在容器中的相对位置,使界面看起来更加整齐有序。3. 简化开发通过使用布局管理器,开发人员可以更轻松地设计和构建复杂的GUI界面,而无须手动计算和调整每个组件的位置。288二、常见布局方式1. 流布局在流布局(FlowLayout)中,组件按从左到右而后从上到下的顺序,如流水一般,碰到障碍(边界)就折回,从头排序。简单来说,就是组件一行放不下,就重新排列。流布局左对齐示意图如图所示。289流布局左对齐示意图流布局(FlowLayout)的默认构造方法见下表。290流布局(FlowLayout)的默认构造方法其中,FlowLayout(intalign)中的align的取值见下表。291FlowLayout(intalign)中的align的取值2. 网格布局在网格布局(GridLayout)中,GridLayout布局管理器将容器分割为多个矩形块(即网格),组件可以按照行与列的方向进行排列。在网格布局中,网格的数量由行数与列数决定,且被分割的网格所占区域的面积大小相同。网格布局示意图如图所示。292网格布局示意图网格布局(GridLayout)的默认构造方法见下表。293网格布局(GridLayout)的默认构造方法3. 边界布局边界布局(BorderLayout)是Frame窗口、Dialog对话框、ScrollPane容器的默认布局管理方式。边界布局将容器分为东(east)、西(west)、南(south)、北(north)、中(center)五个区域,组件可以在五个区域中任意选择一个放置。边界布局的五个区域如图所示。294边界布局的五个区域一般来说,使用边界布局添加组件且不指定组件放置的区域时,默认会将组件放置在center区域;如果向同一区域中添加多个组件时,后放置的区域会覆盖掉先放入的组件。边界布局(BorderLayout)的默认构造方法见下表。295边界布局(BorderLayout)的默认构造方法4. 卡片布局卡片布局(CardLayout)可以将一组组件看作一叠卡片,每次只显示其中一个组件,用户可以根据需求选择要显示的组件,类似于一组扑克牌,将它们叠在一起,每次取牌时只有最上面的扑克牌可见。卡片布局示意图如图所示。296卡片布局示意图卡片布局(CardLayout)的默认构造方法见下表。297卡片布局(CardLayout)的默认构造方法三、布局方式的使用方法1. 流布局的使用流布局的使用主要包括以下步骤。(1)创建JFrame对象(即窗口)作为容器。(2)设置窗口的标题、宽度、高度等属性。(3)创建一个JPanel对象,布局管理器设置为FlowLayout。(4)创建组件,并将它们添加到JPanel中。2982. 网格布局的使用网格布局的使用主要包括以下步骤。(1)创建JFrame对象(即窗口)作为容器。(2)设置窗口的标题、宽度、高度等属性。(3)创建一个JPanel对象,布局管理器设置为GridLayout。(4)创建组件,并将它们添加到JPanel中。2993. 边界布局的使用边界布局的使用主要包括以下步骤。(1)创建JFrame对象(即窗口)作为容器。(2)设置窗口的标题、宽度、高度等属性。(3)创建一个JPanel对象,布局管理器设置为BorderLayout。(4)创建组件,并将它们添加到JPanel中。3004. 卡片布局的使用卡片布局的使用主要包括以下步骤。(1)创建JFrame对象(即窗口)作为容器。(2)设置窗口的标题、宽度、高度等属性。(3)创建一个JPanel对象,布局管理器设置为CardLayout。(4)创建组件,并将它们添加到JPanel中。301事件委托处理第三节302一、Java事件处理机制将一个界面设计的合理、美观之后,接下来要使界面与用户进行互动。Java事件处理机制是一种用于处理用户交互或系统事件的机制,它允许程序在特定事件发生时执行相应的操作。在Java程序中,事件可以是用户输入、鼠标点击、键盘按键、窗口状态改变等操作,通过事件处理机制可以捕获这些事件并做出相应的响应。303事件处理机制的主要作用如下:1.事件处理机制允许程序对用户的操作做出响应。2.通过事件处理机制,事件源和事

温馨提示

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

评论

0/150

提交评论