首页 第13章 图形界面编程

第13章 图形界面编程

举报
开通vip

第13章 图形界面编程null第13章 图形界面编程第13章 图形界面编程本章之前的所有应用程序都是命令行界面,没有特定的用户输入界面。从本章开始,将要学习图形界面编程。对于一个软件来说,不止要有比较强大完善的功能,而且还要有一个简洁美观的界面。本章就主要学习如何进行图形界面编程。其中包括有AWT和Swing两部分内容。 Swing基础 事件 Swing组件 布局管理器13.1 AWT简介13.1 AWT简介AWT的全称是抽象窗口工具集(Abstract Window Toolkit),它是一个特殊的组件,其中包含有其他的组件,...

第13章  图形界面编程
null第13章 图形界面编程第13章 图形界面编程本章之前的所有应用程序都是命令行界面,没有特定的用户输入界面。从本章开始,将要学习图形界面编程。对于一个软件来说,不止要有比较强大完善的功能,而且还要有一个简洁美观的界面。本章就主要学习如何进行图形界面编程。其中包括有AWT和Swing两部分内容。 Swing基础 事件 Swing组件 布局管理器13.1 AWT简介13.1 AWT简介AWT的全称是抽象窗口工具集(Abstract Window Toolkit),它是一个特殊的组件,其中包含有其他的组件,并且它的库类也非常丰富。包括了创建Java图形界面程序的所有工具。可以利用AWT在容器中创建标签、按钮、复选框、文本框等用户界面元素。 AWT中包括了图形界面编程的基本类库。是Java语言GUI程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的核心,它的作用是为用户提供基本的界面构件。这些构件是为了使用户和机器之间能够更好的进行交互,而用来建立图形用户界面的独立平台。其中主要由以下几部分,主要包括:组件类(Component)、容器类(Container)、图形类(Graphics)和布局管理器(LayoutManager)。13.2 Swing基础13.2 Swing基础Swing元素的屏幕显示性能要比AWT要好,而且Swing是使用纯Java来实现的。所以Swing也理所当然的具有Java的跨平台性。但Swing并不是真正使用原生平台提供设备,而是仅仅在模仿,因此可以在任何平台上来使用Swing图形用户界面组件。它不必在它们自己本地窗口中绘制组件,而是在它们所在的重量级窗口中绘制,因为Swing绝大部分是轻量级的组件。13.2.1 Swing的类层次结构13.2.1 Swing的类层次结构Javax.swing包中有顶层容器和轻量级两种类型的组件,Swing轻量级的组件都是由AWT的Container类来直接或者是间接派生而来的。 Swing包是JFC(Java Foundation Classes)的一部分,它由许多包组成,如 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 13.2所示。 在以上包中,javax.swing是Swing所提供最大的包,其中包含有100个类和25个接口,并且绝大部分的组件都包含在Swing包中。 javax.swing.event包中定义了事件和事件处理类,这与java.awt.event包类似,主要包括事件类和监听器接口、事件适配器。13.2.2 Swing特点13.2.2 Swing特点组件的多样化:虽然AWT是Swing的基础,但是Swing中却提供了比AWT更多的图形界面组件。而且Swing中组件的类名都是由字母“J”开头,还增加了一些比较复杂的高级组件如JTable、JTree13.2.3 Swing程序结构简介13.2.3 Swing程序结构简介使用Swing进行程序设计,首先要引入Swing的包,创建顶层的容器,在容器中创建按钮和标签等一系列的组件并将组件添加到顶层容器中,然后在组建的周围添加边界,最后对组件的事件进行处理。13.3 Swing组件13.3 Swing组件Swing的组件与AWT组件相似,但又为每一个组件增添了新的方法,并提供了更多的高级组件。所以本节Swing的基本组件选取几个比较典型的组件进行详细讲解,本节没有讨论到的组件,读者在使用中遇到的困难可参阅API文档。13.3.1 按钮(Jbutton)13.3.1 按钮(Jbutton)Swing中的按钮时Jbutton,它是javax.swing.AbstracButton类的子类,Swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可以将多个图像指定给一个按钮。在前面的HelloWorld例子中就是用到了一个按钮。 在Jbutton中有如下几个比较常用的构造方。 JButton(Icon icon) :按钮上显示图标。 JButton(String text):按钮上显示字符。 JButton(String text, Icon icon):按钮上既显示图标又显示字符。13.3.2 复选框(JCheckBox)13.3.2 复选框(JCheckBox)是用复选框可以完成多项选择,Swing中的复选框和AWT中复选框相比,优点就是Swing复选框中可以添加图片。该类是javax.swing.JToggleButton的子类 复选框可以为每一次的单击操作添加一个事件,复选框的构造方法如下。 JCheckBox():创建一个无文本、无图标、未被选定的复选框。13.3.3 单选框(JRadioButton)13.3.3 单选框(JRadioButton)单选框(JRadioButton)与AWT中的复选框组功能类似,通常JRadoButton和ButtonGroup来配合一起是用,作用就是一次创建一组按钮,并且在这一组按钮中,每一次只能够选中一个按钮。需要使用到add()方法将JRadioButton添加到ButtonGrouo中。13.3.4 组合框(JcomboBox)13.3.4 组合框(JcomboBox)组合框,顾名思义,就是将一些组件例如按钮及下拉菜单组合的组件。用户可以使用下拉菜单中选择不同的选项,如果此时的组合框处于编辑状态,还可以在组合框中键入值。13.3.5 进程条(JprogressBar)13.3.5 进程条(JprogressBar)进度条就是用图形的方式来模拟描述任务进度的组件。任务的过程中,进度条会以百分比的形式来显示。在程序结束后,进度条显示百分之百13.3.6 表格(JTable)13.3.6 表格(JTable)表格(JTable)是Swing新增加的组件,主要是为了将数据以表格的形式显示。通常用数据模型类的对象来保存数据,数据模型类派生于AbstractTableModel类,并且必须重写抽象模型类的几个方法,例如getColumnCount,getRowCount,getColumnName,getValueAt。因为表格会从这个数据模型的对象中自动获取数据,数据模型类的对象负责表格大小(行/列)、数据填写、表格 单元 初级会计实务单元训练题天津单元检测卷六年级下册数学单元教学设计框架单元教学设计的基本步骤主题单元教学设计 更新等与表格有关的属性和操作。13.3.7 树(JTree)13.3.7 树(JTree)树(JTree)中特定的节点可以由TreePath标识或由其显示行标识。当展开某一个节点的所有祖先时,将显示该节点,折叠节点是隐藏位于折叠祖先下面的节点。可查看节点的父类节点都是可以展开的,但是它们可以显示也可以不显示。显示节点必须是可查看的并且位于显示区域。13.3.8 文本框(JTextField)13.3.8 文本框(JTextField)文本框具有文本输入和编辑的功能,文本框组件用于获取到用户所输入的文本。除此之外还有文本区,文本区和文本框的区别是,前者可以输入多行文本,而文本框只接受单行文本的输入。 实现文本框功能的类是JTextField,其中提供了多个方法,可以设置输入的文本字符长度限制。密码框和文本框的外观一样,并且也继承自JTextField类,密码框只提供专门的密码输入,输入内容不能直接显示,在密码框中以星号或其他形式的符号显示在上面。下面的示例是一个登陆框,其中包括用户名和密码, 13.4 布局管理器13.4 布局管理器布局管理器可以对窗口中的组件做有效的布局。Java中的布局管理师容器和布局管理器相分离,也就是容器只是把组件放置进来。至于如何放置就要使用到布局管理器了。布局管理器主要包括有BroderLayout、FlowLayout、GridLayout等。本节就主要介绍一下常用的布局管理器。13.4.1 FlowLayout布局管理器13.4.1 FlowLayout布局管理器FlowLayout布局管理器也叫做流式布局管理器,使用它可以将组件从左到右、从上到下进行排放。并且在默认的情况下尽可能的选用居中放置。荣会根据自身的大小来进行自动排列,而不需要用户进行任何明确的操作。 流式布局管理器的特点是在一行上水平的进行排列,直到该行没有空间为止,然后就会重新换行进行排列。当用户缩小容器时,如果长度小于当前摆放的组件长度,则将多余的组件切换到下一行中进行排列。如果此时将容器放大,则会将第二排的组件重新放置到第一排中多出的空间中。13.4.2 BorderLayout布局管理器13.4.2 BorderLayout布局管理器BorderLayout布局管理器又叫边界布局管理器,在Java中是最基础的布局管理器之一,而且也是比较常用的管理器,也是面板默认的布局管理器。 边界布局管理器的特点就是将整个面板分为五个部分,分别对应东、西、南、北、中。如果一个面板被设置成边界布局后,所有填入某一区域的组件都会按照该区域的空间进行调整,直到完全充满该区域。如果此时将面板的大小进行调整,则四周区域的大小不会发生改变,只有中间区域被放大或缩小。13.4.3 BoxLayout布局管理器13.4.3 BoxLayout布局管理器BoxLayout布局管理器又叫做箱式布局管理器,顾名思义,就相当于将一组组件放置到一个箱子中然后将箱子排成一列。用户还可以通过传入构造方法的参数来决定如何排列,分为横向和纵向两种。 创建箱式布局管理器时需要设置参数,用于选择横向布局或是纵向布局,选择横向布局时,组件的排列顺序是从左到右。选择纵向布局时,组件的排列顺序是从上到下。关于组件的大小设置,主要有以下三个方法。 setPreperredSize(Dimension dim):该方法用于设置首选大小。 setMaximumSize(Dimension dim):该方法用于设置最大值。 setMinimumSize(Dimension dim):该方法用于设置最小值。13.4.4 GridLayout布局管理器13.4.4 GridLayout布局管理器GridLayout是网格布局管理器,该管理器负责将一个容器按照 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 的形状分割成多个区域。对GridLayout的设置,可以根据横向或者是纵向的放法,两者指定的方法分别是setHgap和setVgap。而且可以直接在构造方法中指定,横向组件间隔宽度和纵向组件间隔宽度对应属性是hgap和vgap。13.5 事件处理13.5 事件处理事件处理是图形界面和用户进行交互的重要组成部分,Java中的事件处理机制主要包括有事件源、事件和事件处理器三个部分。首先要做的是为事件注册相对应的事件处理器,并制定事件,然后由事件处理器获取后进行相应的事件处理。13.5.1 事件监听器13.5.1 事件监听器事件监听器是监听所触发事件的对象,其中包含有对事件发生后的事件处理操作。对于不同的事件,Java中也定义了所相应的事件监听器接口。如下是几个比较常用的事件监听器接口。13.5.2 事件适配器13.5.2 事件适配器前面介绍了事件监听器,都是以实现事件监听器的接口方式进行定义的。而且前面几章中也介绍过,实现接口,就要实现接口中的所有方法。Java中针对每个事件接听器接口,系统定义了相应的实现类。并称为事件适配器,只需要继承事件适配器并覆盖几个必要的方法就可以了。这样一来也使得代码变的更加简洁。13.5.3 事件13.5.3 事件事件就是触发一个组件所产生的动作,在Swing中,有很多的事件,例如鼠标事件、焦点事件等,每一个事件类都会与一个事件类接口相对应,并且由事件所引起的动作都会存放在接口需要实现的方法中。1.鼠标事件1.鼠标事件鼠标事件是由MouseEvent负责,而鼠标监听器则有两种,分别是MouseListener和MouseMotionListener。其中MouseListener负责鼠标的按下、抬起、进入某以区域。当组件注册了鼠标监听器后,如果组件发生以上的动作事件后,就会激活相应的事件处理方法。2.键盘事件2.键盘事件键盘事件是用于处理在键盘上所输入的信息,表示键盘事件的类是KeyEvent,该类可以获取到产生键盘事件的事件源,而且还可以获取到键盘输入按键的信息。3.焦点事件3.焦点事件鼠标单击到某一个按钮上的图片时,这个按钮就获得了焦点。例如,鼠标单击窗口的标题栏,就说明这个标题栏获得了焦点。单击这个窗口中的任意一个组件时,这个组件就获得了焦点。并且不同的组件获得焦点后的显示是不同的,例如在文本框获取到焦点时,鼠标的光标就会不停的闪动。 一个窗口中的组件,在同一时间只能够有一个组件获得焦点。如果单击了另一个组件,此时该组件就会失去焦点。在Java中与焦点相关的方法如下。13.6 举例13.6 举例在前面介绍了图形用户界面的基本操作,本小节就以一个示例,将前面所介绍到的内容贯穿起来,该示例是一个科学计算器,其中可以计算正弦余弦,开2次方根等操作。
本文档为【第13章 图形界面编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_141718
暂无简介~
格式:ppt
大小:122KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2013-12-30
浏览量:17