- 1、本文档共206页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【精品】...包括窗口的显示及外观设置、在窗口中显示文字和图像等; ...9
第9章 图形用户界面(GUI)设计;学习导读
首先,我们学习一些基本的图形编程知识,包括窗口的显示及外观设置、在窗口中显示文字和图像等;
接下来,介绍Java的事件处理机制,例如如何在程序中接收并处理如键盘按键和鼠标点击等“事件”;
最后,系统地介绍图形用户界面中常用组件的用法,如布局管理器、文本框、复选框、菜单、对话框等。
;教学重点与难点; Java 1.0的出现带来了抽象窗口工具箱(AWT)。设计目标是希望构建一个通用的GUI,使得利用它编写的程序能够运行在所有的平台上,以实现Sun公司提出的口号“一次编写,随处运行”。
在Java 1.2中,Sun公司推出了新的用户界面库:Swing。相对AWT来说,Swing功能更强大、使用更方便,它的出现使得Java的图形用户界面上了一个台阶。
但是,Swing并没有代替AWT。在Java 1.1中,AWT事件处理模型有了根本改变。Swing使用的仍然是Java 1.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提供了从按钮到可分拆面板和表格的所有组件。;AWT组件和对应的Swing组件,从名称上很容易记忆和区别。
例如,AWT的框架类、面板类、按钮类和菜单类,被命名为Frame、Panel、Button和Menu,而Swing对应的组件类被命名为JFrame、JPanel、JButton和JMenu。与AWT组件相比,Swing组件的名前多一个 “J” 字母。
另外,AWT 组件在java.awt包中,而Swing组件在javax.swing包中。
;3.一个Java GUI简单程序
【例9.1】课本P188
Java Swing GUI应用程序中的基本代码如下:
(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的图形用户界面的最基本元素是组件,组件是可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,如一个按钮、一个文本框等。
容器实际上是一种具有容纳其他组件和容器的功能的组件。抽象类Container是所有容器的父类,其中包含了很多有关容器的功能和方法。而类Container又是Java语言的组件类Component的子类。;2.布局管理器(Layout Manager)
为了使得图形用户界面具有良好的平台无关性,在Java语言中提供了布局管理器这个工具来管理组件在容器中的布局,而不使用直接设置组件位置和大小的方式。容器中的组件定位由布局管理器决定。每个容器都有一个缺省的布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其相应的布局管理器。但也可以不用缺省的布局管理器,在程序中指定其新的布局管理器。
Java平台提供多种布局管理器,常用的有FlowLayout、BorderLayout、 GridLayout、CardLayout、BoxLayout和GridBagLayout等。使用不同的布局管理器,组件在容器上的位置和大小都是很不一样的。 ;在程序中安排组件的位置和大小时,应该注意:
(1)容器中的布局管理器负责各个组件的大小和位置。因此用户无法在这种情况下直接设置这些属性。若试图使用Java语言提供的setLocation()、setSize()、setBounds()等方法,则都会被布局管理器覆盖。
(2)若用户确实需要亲自设置组件的位置和大小,则应取消该容器的布局管理器,方法为:
setLayout(null);
随后,用户必须使用setLocation()、setSize()、setBounds(
您可能关注的文档
- 【李高栓老师】什么是市场营销?.ppt
- 【机械加工】装配式简支梁桥的设计与构造.ppt
- 【毕业设计论文】对接焊缝的超声相控阵检测及三维成像分析开题.ppt
- 【机械加工】汽车构造精品课建设.ppt
- 【永達技術學院】水中含氮污染物質於離 子層析儀之檢測與分析 - 金門酒 .ppt.ppt
- 【淡雅动态】医院医疗护士手术室工作总结汇报PPT模板_图文.ppt.ppt
- 【淡雅动态】医院医疗护士手术室工作总结汇报PPT模板_图文_1736395766.ppt.ppt
- 【环境课件】环评上岗证考试培训-总量控制节选.ppt
- 【液压精品培训】之【螺纹插装阀】03a-洩壓閥.ppt
- 【机械课件】第二章 发动机总体构造与工作原理.ppt.ppt
最近下载
- 河南省洛阳涧西区2022—2023学年七年级下学期期中考试语文试卷.docx VIP
- 2024年全国高考数学真题分类(函数与导数)汇编(附答案).pdf
- 奥维互动地图在线路勘测中地应用.docx
- 河南省洛阳市涧西区2023-2024学年七年级下学期期中考试语文试卷(含答案).pdf VIP
- 中国盐业集团有限公司招聘笔试题库2022.pdf
- 2023年福建考评员考试答案.docx VIP
- 英语中考短语大全.doc VIP
- 2024《企业盈利能力分析的国内外文献综述》2400字.docx VIP
- 蓝碳生态系统碳汇计量监测技术规程.pdf VIP
- 2025年开封文化艺术职业学院单招职业适应性测试题库及答案一套.docx VIP
文档评论(0)