欢迎来到天天文库
浏览记录
ID:42726170
大小:388.50 KB
页数:42页
时间:2019-09-21
《第8章 图形用户界面应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、教学目的要求了解Java语言中图形用户界面的构造与设计。掌握其实现的基本原理和方法,达到能够设计具有图形用户界面程序的目的。掌握用AWT来设计图形用户界面的方法,尤其是组件、容器、布局管理器等概念。学习AWT事件处理模型,掌握事件源、事件、事件处理者等概念,让程序能够响应用户的操作。最后了解AWT各个组件的用法及所采用的事件处理接口。通过技能训练,熟练掌握Java语言中图形用户界面程序的编写。第8章图形用户界面应用1本章内容8.1AWT和Swing简介8.2布局管理8.3事件处理模型8.4常用组件的应用28.1AWT
2、和Swing简介抽象窗口工具包AWT(AbstractWindowToolkit)是API为Java程序提供的建立图形用户界面GUI(GraphicsUserInterface)工具集,AWT可用于Java的applet和applications中。它支持图形用户界面编程的功能包括:用户界面组件;事件处理模型;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。38.1AWT和Swing简介java.awt
3、包中包含了一个完整的类集以支持GUI程序的设计(重量级构件)事件类字体类GraphicsComponent颜色类布局管理类java.lang.ObjectCheckboxContainerButton…WindowPanelAppletDialogFrameList图象类菜单类48.1.1组件和容器java.awt包中提供了GUI设计所使用的类和接口,可从图5.1中看到主要类之间的关系。java.awt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念:组件—Component容器—Container布
4、局管理器--LayoutManager58.1.1组件和容器Java的图形用户界面的最基本组成部分是组件(Component),组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。类java.awt.Component是许多组件类的父类,Component类中封装了组件通用的方法和属性,如图形的组件对象、大小、显示位置、前景色和背景色、边界、可见性等,因此许多组件类也就继承了Component类的成员方法和成员变
5、量,相应的成员方法包括:getComponentAt(intx,inty)getFont()getForeground()getName()getSize()paint(Graphicsg)repaint()update()setVisible(booleanb)setSize(Dimensiond)setName(Stringname)等68.1.1组件和容器容器(Container)也是一个类,实际上是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件和容器。
6、布局管理器(LayoutManager):每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。为了使我们生成的图形用户界面具有良好的平台无关性,Java语言中,提供了布局管理器这个工具来管理组件在容器中的布局,而不使用直接设置组件位置和大小的方式。78.1.1组件和容器在程序中安排组件的位置和大小时,应该注意以下两点:1.容器中的布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用Java语言提供的setLocation(),
7、setSize(),setBounds()等方法,则都会被布局管理器覆盖。2.如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:setLayout(null);88.1AWT和Swing简介8.1.2Swing组件及其之间的层次关系98.1.3组件类在Java语言中,所有的GUI标准组件都是java.awt.*包中的根类Component类的子类,Component类的直接子类包括一个容器组件Container和8个基本组件,如Button、Label、Choice、TextComponen
8、t等。Container是所有容器组件的根类,容器组件的主要作用是包容其他组件并按一定的方式组织排列它们,同一个容器中的所有部件通常总是同时被显示和同时被隐藏的。所有的容器组件都是Container类的子类,可分为3组。(1)第1组为Panel和Applet容器,它们都是无边框的;(2)第2组为ScrollPane容器,它是可以自动处理滚动操作
此文档下载收益归作者所有