电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

图形用户界面设计概述

141页
  • 卖家[上传人]:艾力
  • 文档编号:51733358
  • 上传时间:2018-08-16
  • 文档格式:PPT
  • 文档大小:1.47MB
  • / 141 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 9.1图形用户界面设计概述9.1.1 GUI支持包和简单GUI程序例1.java.awt包 Java语言在java.awt包中提供了大量地进行 GUI设计所使用的类和接口,包括绘制图形、 设置字体和颜色、控制组件、处理事件等内 容,AWT是Java语言进行GUI程序设计的基础 。2. javax.swing包Swing包是Java基础类库(Java Foundation Classes,JFC)的一部分。Swing提供了从按 钮到可分拆面板和表格的所有组件。Swing组件是Java语言提供的第二代GUI设计工具包, 它以AWT为基础,在AWT内容的基础上新增或改进了一 些GUI组件,使得GUI程序功能更强大,设计更容易、 更方便。“Swing“是开发新组件的项目代码名,现在 ,这个名字常用来引用新组件和相关的API。AWT组件和对应的Swing组件,从名称上很容易记忆和 区别。例如,AWT的框架类、面板类、按钮类和菜单 类,被命名为Frame、Panel、Button和Menu,而 Swing对应的组件类被命名为JFrame、JPanel、 JButton和JMenu。与AWT组件相

      2、比,Swing组件的名前 多一个 “J” 字母。另外,AWT 组件在java.awt包 中,而Swing组件在javax.swing包中。3.一个Java GUI简单程序【例9.1】一个简单的Swing GUI应用程序。在一个 框架窗口中显示两个标签和一个按钮:上面的标签 显示一串固定的文字信息,选择按钮后在下面的标 签上显示系统现在的时间。limport java.awt.*;limport java.awt.event.*;limport javax.swing.*;limport java.util.*;l/ 继承JFrame类并实现ActionListener接口lpublic class SwingDemo extends JFrame implementsl ActionListenerl JButton b1; / 声明按钮对象l JLabel l1,l2; / 声明标签对象l SwingDemo() / 定义构造方法l super(“Swing应用程序的例“);/ 调用父类的构造方法l l1=new JLabel(“一个GUI应用程序的例子“,l JLabel.CENT

      3、ER); / 定义标签,文字居中l l2=new JLabel(“ “); / 定义无文字标签l b1=new JButton(“现在时间T“);/ 定义按钮l b1.setMnemonic(KeyEvent.VK_T);/ 设置按钮的快捷 键l b1.setActionCommand(“time“); / 设置控制名l b1.addActionListener(this); / 注册按钮事件l add(l1,BorderLayout.NORTH); / 添加标签l1l add(l2,BorderLayout.CENTER); / 添加标签l2l add(b1,BorderLayout.SOUTH); / 添加标签b1l l / 对按钮引发事件编程l public void actionPerformed(ActionEvent e)l / 捕获按钮事件l Calendar c1 = Calendar.getInstance();l / 获取系统日期和事件l if(e.getActionCommand().equals(“time“)l / 判断是否为所需的按钮事件l l2.setTe

      4、xt(“现在时间是”+l c1.get(Calendar.HOUR_OF_DAY)l +“时”+c1.get(Calendar.MINUTE)+“分”);l /设置标签文字l l2.setHorizontalAlignment(JLabel.CENTER);l / 设置标签标签文字居中对齐l l else System.exit(0);l l public static void main(String args)/ 主方法l JFrame.setDefaultLookAndFeelDecorated(true);l / 加此语句显示为运行结果图的右图 l JFrame frame = new SwingDemo();l / 创建JFrame对象,初始不可见l frame.setDefaultCloseOperation(l JFrame.EXIT_ON_CLOSE);/ 设置框架关闭按钮事件l frame.pack(); / 压缩框架的显示区域l frame.setVisible(true); / 显示框架主窗口l l程序运行后显示的形式如下图 。Java Swing GUI应用程序

      5、中的基本代码如下。(1)引入合适的包和类一般的Swing GUI应用程序应包含程序中的前三个 引入语句,它们分别表示引入awt包、awt事件处 理包和swing包。其他包按需引入。由于Swing组件使用AWT的结构,包括AWT的事件驱 动模式,所以,使用swing组件的程序一般需要使 用awt包。(2)使用缺省的观感或设置自己的观感(Look and Feel)(3)设置一个顶层的容器(4)根据需要,使用缺省的布局管理器或设置另外 的布局管理器(5)定义组件并将它们添加到容器(6)对组件或事件编码9.1.2 容器、组件、布局和观感1.容器(Container)和组件(Component)一个Java的图形用户界面的最基本元素是组件 ,组件是可以以图形化的方式显示在屏幕上并 能与用户进行交互的对象,如一个按钮、一个 文本框等。在Java语言中,通常将组件放在一 定的容器内使用。容器实际上是一种具有容纳 其他组件和容器的功能的组件。抽象类 Container是所有容器的父类,其中包含了很多 有关容器的功能和方法。而类Container又是 Java语言的组件类Component的子类。2.

      6、布局管理器(Layout Manager)为了使得图形用户界面具有良好的平台无关性,在 Java语言中提供了布局管理器这个工具来管理组件 在容器中的布局,而不使用直接设置组件位置和大 小的方式。容器中的组件定位由布局管理器决定。 每个容器都有一个缺省的布局管理器,当容器需要 对某个组件进行定位或判断其大小尺寸时,就会调 用其相应的布局管理器。但也可以不用缺省的布局 管理器,在程序中指定其新的布局管理器。Java平台提供多种布局管理器,常用的有 FlowLayout、BorderLayout、 GridLayout、 CardLayout、BoxLayout和GridBagLayout等。使用 不同的布局管理器,组件在容器上的位置和大小都 是很不一样的。 在程序中安排组件的位置和大小时,应该注意:(1)容器中的布局管理器负责各个组件的大小和位置 。因此用户无法在这种情况下直接设置这些属性。若 试图使用Java语言提供的setLocation()、setSize() 、setBounds()等方法,则都会被布局管理器覆盖。(2)若用户确实需要亲自设置组件的位置和大小,则 应取消该容器的布局

      7、管理器,方法为:l setLayout(null);随后,用户必须使用setLocation()、setSize()、 setBounds()等方法为组件设置大小和位置,但这种 方法将会导致程序的系统相关。在一个GUI应用程序的界面上,除了可以见到上述的 标准GUI元素外,还可以见到一些非交互的起到装饰 、美化界面的作用的几何图形、图案、图像等内容。3.观感(Look and Feel) Java swing的一个重要特征是它的可插入的“观感 ”体系。一个Swing应用程序或一个最终用户可指明 所需要的观感,使得Swing应用程序的外观和行为都 可以被定制。Swing运行一个缺省的Java观感(也称 为Metal观感),还实现了模仿Motif和Windows的观 感。这样,一个Swing程序可拥有Java程序的独特外 观,也可以拥有熟悉的Windows操作系统外观。在本章稍后部分的单选按钮的程序例中分别显示了 Windows、Motif和Metal三种不同风格的观感。一般在应用程序的JFrame的构造方法中或在JApplet 的init()方法中进行观感的设置。【例9.2】设置观感。l

      8、import javax.swing.*;limport java.awt.*;lpublic class SetLAFl public static void setNativeLookAndFeel() l try l UIManager.setLookAndFeel(UIManager.l getSystemLookAndFeelClassName();l catch(Exception e) l System.out.println(“设置native LAF错误: “ + e);l l l public static void setJavaLookAndFeel() l try l UIManager.setLookAndFeel(UIManager.l getCrossPlatformLookAndFeelClassName();l catch(Exception e) l System.out.println(“设置Java LAF错误: “ + e);l l l public static void setMotifLookAndFeel() l try l UIMa

      9、nager.setLookAndFeel(“l com.sun.java.swing.plaf.l motif.MotifLookAndFeel“);l catch(Exception e) l System.out.println(“设置Motif LAF错误: “ + e);l l l因为setLookAndFeel()方法抛出异常,因此设置观感的 代码应捕捉异常。本例创建的类SetLAF可在以后的 程序中设置观感时使用。9.1.3事件处理在一个GUI程序中,为了能够接收用户的输入、 命令的按键和鼠标操作,程序系统首先应该能够 识别这些操作并做出相应的响应。通常一个键盘 和鼠标操作将引发一个系统预先定义好的事件, 用户程序只要编写代码定义每个事件发生时程序 应做出何种响应即可。这些代码会在它们对应的 事件发生时由系统自动调用,这就是GUI程序中 事件和事件响应的基本原理。在Java语言中,除了键盘和鼠标操作,系统的状 态改变也可以引发事件。可能产生事件的组件称为事件源,不同事件源上发 生的事件种类是不同的。若希望事件源上引发的事 件被程序处理,需要将事件源注册给能够处理该事 件源上那种事件类型的监听器。监听器具有监听和 处理某类事件的功能,它可以是包容事件源的容器 ,也可以是另外的对象。也就是说,事件源和事件 处理是分开的,一般组件都不处理自己的事件,而 将事件处理委托给外部的处理实体,这种事件处理 模型称为授权处理模型。事件的行为多种多样,由不同的监听器处理。编写 事件处理程序首先应确定关注的事件属于何种监听 器类型。 在AWT中,提供11种标准的监听器类型,见下表。l 监听器 适配器类

      《图形用户界面设计概述》由会员艾力分享,可在线阅读,更多相关《图形用户界面设计概述》请在金锄头文库上搜索。

      点击阅读更多内容
    新上传的PPT文档
    供应室护士年终工作总结5篇 2023年度山西省吕梁市石楼县乡镇中医执业助理医师考试之中医临床医学过关检测试卷B卷附答案 2023年度山西省临汾市蒲县乡镇中医执业助理医师考试之中医临床医学题库检测试卷A卷附答案 2023年度山西省吕梁市临县乡镇中医执业助理医师考试之中医临床医学模拟预测参考题库及答案 2023年度广东省肇庆市广宁县乡镇中医执业助理医师考试之中医临床医学测试卷(含答案) 2023年度山西省吕梁市岚县乡镇中医执业助理医师考试之中医临床医学模拟考核试卷含答案 2023年度山西省吕梁市交城县乡镇中医执业助理医师考试之中医临床医学考前冲刺试卷B卷含答案 2023年度山西省吕梁市方山县乡镇中医执业助理医师考试之中医临床医学练习题及答案 2023年度山西省吕梁市孝义市乡镇中医执业助理医师考试之中医临床医学题库练习试卷A卷附答案 2023年度山西省吕梁市交口县乡镇中医执业助理医师考试之中医临床医学真题练习试卷B卷附答案 一二九运动演讲(一) 2022年北京市建筑施工安管人员安全员C3证综合类考前(难点+易错点剖析)押密卷附答案14 2023年度山西省太原市古交市乡镇中医执业助理医师考试之中医临床医学能力测试试卷B卷附答案 烟花爆竹储存作业安全生产考试内容及考试题附答案第45期 2023年度山西省吕梁市乡镇中医执业助理医师考试之中医临床医学强化训练试卷B卷附答案
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.