欢迎来到天天文库
浏览记录
ID:39357130
大小:242.69 KB
页数:86页
时间:2019-07-01
《《Java程序设计》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章JAVA图形用户界面常州信息职业技术学院(CCIT)软件学院本讲内容7.1用AWT生成图形化用户界面7.2AWT事件处理模型7.3AWT组件库7.4Swing简介7.5Swing组件和容器2CCIT软件学院7.1用AWT生成图形化用户界面抽象窗口工具包AWT(AbstractWindowToolkit)是API为Java程序提供的建立图形用户界面GUI(GraphicsUserInterface)工具集,AWT可用于Java的applet和applications中。它支持图形用户界面编程的功能包括:用户界面组件;事件处理模型;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进
2、行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。3CCIT软件学院7.1用AWT生成图形化用户界面java.awt包中包含了一个完整的类集以支持GUI程序的设计(重量级构件)事件类字体类GraphicsComponent颜色类布局管理类java.lang.ObjectCheckboxContainerButton…WindowPanelAppletDialogFrameList图象类菜单类4CCIT软件学院7.1.1java.awt包java.awt包中提供了GUI设计所使用的类和接口,可从图5.1中看到主要类之间的关系。java.a
3、wt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念:组件—Component容器—Container布局管理器--LayoutManager5CCIT软件学院7.1.2组件和容器Java的图形用户界面的最基本组成部分是组件(Component),组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。类java.awt.Component是许多组件类的父类,Component类中封装了组件通用的方法和属性,如图形的组件对象、大小、显示位置、前景色和背景色、边界、可见性等,因
4、此许多组件类也就继承了Component类的成员方法和成员变量,相应的成员方法包括:getComponentAt(intx,inty)getFont()getForeground()getName()getSize()paint(Graphicsg)repaint()update()setVisible(booleanb)setSize(Dimensiond)setName(Stringname)等6CCIT软件学院7.1.2组件和容器容器(Container)也是一个类,实际上是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件和
5、容器。布局管理器(LayoutManager):每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。为了使我们生成的图形用户界面具有良好的平台无关性,Java语言中,提供了布局管理器这个工具来管理组件在容器中的布局,而不使用直接设置组件位置和大小的方式。7CCIT软件学院7.1.2组件和容器在程序中安排组件的位置和大小时,应该注意以下两点:1.容器中的布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用Java语言提供的setLocation(),setSize(),setBounds()等方法,则都
6、会被布局管理器覆盖。2.如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为: setLayout(null);8CCIT软件学院7.1.3常用容器容器java.awt.Container是Component的子类,一个容器可以容纳多个组件,并使它们成为一个整体。容器可以简化图形化界面的设计,以整体结构来布置界面。所有的容器都可以通过add()方法向容器中添加组件。有三种类型的容器:Window、Panel、ScrollPane,常用的有Panel,Frame,Applet。9CCIT软件学院7.1.3常用容器-Frame1.Frame 例:importjava.
7、awt.*;publicclassMyFrameextendsFrame{publicstaticvoidmain(Stringargs[]){ MyFramefr=newMyFrame("HelloOutThere!");//构造方法 fr.setSize(200,200);//设置Frame的大小,缺省为(0,0) fr.setBackground(Color.red);//设置Frame
此文档下载收益归作者所有