欢迎来到天天文库
浏览记录
ID:14398561
大小:76.00 KB
页数:10页
时间:2018-07-28
《第6章 图形用户界面》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章图形用户界面本章内容是JAVAAPI中与GUI(图形用户界面设计)有关的2组类:AWT和SWING,编写Windows风格的程序。本章涉及AWT和SWING许多的类,及其属性、方法,这不是学习的重点,只需对其有大致的了解,需要的时候查阅JDKDOC即可。本章学习的重点是:l掌握GUI编程的一般步骤,主要包括GUI界面的构造顺序和事件处理;l结合样例程序强化以前学过的类的继承、组成的概念及实际使用;l最后,学习编写符合MVC模式要求的GUI程序。6.1AWT组件及其属性类本小节的要点是:(1)基本概念【这些概念教材都给出了答案】什么是AWT?什么是组件?什么是容器?(2)组件类
2、和容器类的继承关系见P143【图6.1】,这个图很重要,要反复看。在GUI界面设计中,要反复用到面向对象的两种最常见的类之间的关系:继承关系和组成(组合)关系,该图说明了常用组件类的继承关系(所有组件类的继承关系可以查阅JDKDOC或上网搜索)。阅读教材“6.1.1AWT组件”。阅读教材P145【例6.1】,从本例中学习到:使用AWT创建一个GUI程序一般需要以下几步:1)首先继承Frame类,创建一个窗体(窗体相当于Windows的窗口)。2)窗体是一个容器,如果将要设计的GUI界面比较复杂,可以再窗体创建几个容器(比如Panel类)的对象,将窗体分割成几个部分。3)向窗体添加菜
3、单、文本框、按钮、树等等组件,这些组件是窗体的“组成部分”,是类的组成关系的使用。这些初始化窗体及组件的工作,一般是在构造方法中完成的。4)在main()或其它方法中实例化窗体。5)大致上,经过以上几步后,一个GUI程序界面就构造好了。6)需要注意的是:本例是需要一行行输入源代码的,这比较麻烦。如果使用MyEclipse或NetBeans等开发环境,提供GUI组件的“所见即所得”拖放操作,有为GUI界面自动写代码的功能,已经掌握了GUI设计原理的专业程序员当然可以依赖这些自动化的工具,但同学们不要这样做,还是要一行行的看代码、输入代码。1)经过上述步骤后,一个GUI界面就完成了,但
4、这个界面是“死”的,还需要添加事件处理,以响应用户的鼠标或键盘等输入,事件处理是本章下一小节涉及的内容。阅读教材“6.1.2布局管理”,本小节讲述了AWT组件几种常见的布局,合理的布局会使组件的安排有条理,并能自动适应窗口大小和位置的变化。本小节内容一般性了解即可。阅读教材“6.1.3颜色和字体”,本小节内容一般性了解即可。6.2事件处理1什么是事件?与一般的控制台程序不同,GUI程序是事件驱动的。当一个GUI程序完成了初始化工作,创建成功后,就开始“等待”----等待键盘鼠标等操作,然后做出相应的反应。一个GUI窗体有很多组件,这些组件都可以响应键盘鼠标的操作,当操作发生时(比如
5、鼠标点击了一个按钮组件,或文本框组件输入了文字,或点击了窗口的关闭图标),就发生了一个“事件”。事件,就是由于外界操作而引发的(某个或某些)组件的状态的改变,外界操作常见的是鼠标键盘,但不仅限于鼠标键盘。当事件发生时,往往需要程序员写一段程序去响应事件,这种程序叫“事件处理程序”,它一般首先判断哪个组件发生了事件,发生了何种事件,然后按程序设计的要求做出合适的反应。2事件处理程序本章6.1讲解了GUI界面构造的要点,这一部分将介绍编写事件处理程序的要点。两部分合起来就是一个相对完整的GUI程序。事件处理程序的编写有一些特殊的地方,首先看一个简单的事件处理程序。示例1:该程序的界面如
6、下,其功能是:(1)点击“清除”按钮,清除文本框中的数据,(2)点击窗口“关闭”按钮关闭窗口。下面是源程序,重点关注紫色字的部分:importjava.awt.*;importjava.awt.event.*;//导入事件处理包publicclassQueryFrameextendsFrameimplementsActionListener//QueryFrame窗口响应单击事件{privateTextFieldtext;//文本行privateButtonbutton;//按钮publicQueryFrame()//构造方法{super("清除文本框");//窗口标题setBou
7、nds(300,240,300,100);//窗口位置和尺寸setBackground(Color.lightGray);//窗口背景色setLayout(newFlowLayout(FlowLayout.LEFT));text=newTextField(10);//实例化文本框add(text);//添加文本框到窗体button=newButton("清除");//实例化按钮add(button);//添加按钮到窗体button.addActionListener(
此文档下载收益归作者所有