java程序设计教程_第11章-图形用户界面.ppt

java程序设计教程_第11章-图形用户界面.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java程序设计教程_第11章-图形用户界面

好 本章学习目标 了解图形用户界面的历史及其设计原则。 掌握AWT组件集中的各类组件。 理解AWT事件处理机制。 学会编写常见事件处理程序。 了解Swing组件集及其简单编程。 概述 图形用户界面,英文全称为Graphical User Interface,一般习惯简称为GUI。 图形化用户界面大大方便了人机交互,是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。 设计原则 用户至上的原则 交互界面要友好 配色方案要合理 主流开发工具集 基于Java的图形用户界面开发工具(即组件集)最主流的有三种: AWT Swing SWT/JFace AWT组件集 AWT由JDK的java.awt包提供,里面包含了许多可以用来建立图形用户界面(GUI)的类,一般称这些类为组件(component) AWT组件集 AWT组件大致可以分为以下三类: (1)容器类组件 (2)布局类组件 (3)普通组件类 容器类组件 容器类组件由Container类派生而来,常用的有Frame类和Dialog类,以及Panel类型的Applet类。这些容器类组件可以用来容纳其他普通组件或者甚至是容器组件自身,起到组织用户界面的作用。 容器类组件有一定的范围和位置,并且它们的布局从整体上也决定了所容纳组件的位置 因此,在界面设计的初始阶段,首要考虑的就是容器类组件的布局。 布局组件类 布局类组件是非可视组件,它们能很好地在容器中布置其他可视组件。AWT提供了五种基本的布局方式:FlowLayout、BorderLayout、GridLayout、GridBagLayout和CardLayout等,它们均为Object类的子类,如下图11-2所示。 FlowLayout FlowLayout是最简单的一种布局方式,被容纳的可视组件从左向右,从上至下依次排列,若一组件在本行放置不下,就自动排到下一行的开始处,该方式为Panel类和Applet类容器的默认布局方式。 BorderLayout BorderLayout布局方式的特点是:将容器划分为“东”“西”“南”“北”“中”五个区。 每个区可以摆放一个组件,因此最多可以在BorderLayout的容器组件中放置五个子组件。 Frame或Dialog容器类组件的默认布局方式。 GridLayout GridLayout布局将容器划分为行和列的网格,每个网格单元可以放置一个组件,组件通过add()方法从上到下,从左至右顺序加入网格各个单元中 GridLayout布局允许在组件之间设置水平和垂直间距,间距同样以像素为单位表示,如下为创建6行6列,水平间隔和垂直间隔均为10个像素的GridLayout布局对象: setLayout(new GridLayout(6,6,10,10)); GridBagLayout GridBagLayout是所有AWT布局管理方式中最繁的,同时也是功能最强的。 GridBagLayout设置的所有行和列可以大小不同。 GridBagLayout允许不同组件在容器中占据不同大小的矩形区域。 GridBagLayout由一个专用的类来对布局行为进行约束,该类为GridBagConstraints,它的所有成员都是public(公有)的,要掌握如何使用GridBagLayout布局,关键在于熟悉这些约束变量,以及如何进行设置。 GridBagConstraints的常用属性 public girdx //组件所处位置的起始单元格列号 public gridy //组件所处位置的起始单元格行号 public gridheight //组件在垂直方向占据的单元格个数 public gridwidth //组件在水平方向占据的单元格个数 public double weightx //容器缩放时,单元格在水平方向的缩放比例 public double weighty //容器缩放时,单元格在垂直方向的缩放比例 public int anchor //当组件较小时指定其在网格中的起始位置 public int fill //当组件分布区域变大时指明是否缩放,以及如何缩放 public Insets insets //组件与外部分布区域边缘的间距 public int ipadx //组件在水平方向的内部缩进 public int ipady //组件在垂直方向的内部缩进 CardLayout CardLayout布局将组件(通常是

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档