您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Java程序设计修改-ch07
本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|,即图形用户界面。是应用程序提供给用户操作的图形界面,包括窗口、菜单、按钮、工具栏和其他各种屏幕元素。JavaAWT(AbstractWindowToolkit)提供了图形用户界面和图形在Java兼容的操作系统中使用本地窗口系统进行显示。Sun公司在发布Java1.2时,又结合AWT的优点,编写出完善和稳定的Swing。Swing包含250多个类,是组件和支持类的集合。同时提供了40多个组件。Swing是建立在AWT基础之上的,它用来代替AWT中的重量组件,而不是用来替代AWT本身。它利用了AWT的底层组件,包括图形、颜色、字体、工具包和布局管理器等。它使用AWT最好的部分来建立一个新的轻量组件集,而丢弃了AWT中有问题的重量组件部分,同时还提供了大量有助于开发图形用户界面的附加组件。本章将介绍利用Java的AWT包和Swing包进行图形开发的一般方法。本章要点Swing包中常用组件的用法Java中的布局管理器Java的事件处理机制本章难点Java的事件处理机制学习目标了解Swing包中组件的基本用法,掌握如命令按扭,文本框,标签框等组件的用法了解布局管理器的基本使用,掌握流式布局,边界布局等常用布局的使用了解事件处理的基本方法,掌握动作事件,鼠标事件,键盘事件等常用事件的处理方法7.1抽象窗口工具包(AWT)与javax.swing包概述7.1.1java.awt包的子包AWT是JavaAPI的一部分,它为开发图形用户界面提供了实现各种组件、布局管理器和事件处理器的类和接口。用户在导入了AWT中的包或类后,通过创建组件、布局管理器和事件处理器的对象,就可以设计出所需要的各种形式的图形用户界面。AWT由下列包所组成,如表7-1所示。表7-1AWT包java.awt包含用于创建用户界面和绘制图形图像的所有类java.awt.color提供用于颜色空间的类java.awt.datatransfer提供在应用程序之间和在应用程序内部传输数据的接口和类java.awt.dndDrag和Drop是一种直接操作操作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与GUI中显示元素逻辑相关的实体之间传输信息java.awt.event提供处理由AWT组件所激发的各类事件的接口和类本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|开发工具集,是构筑在AWT上层的一组GUI组件的集合,为保证可移植性,它完全用Java语言编写,与AWT相比,Swing提供了更完整的组件,引入了许多新的特性和能力。Swing提供更多的组件库,如:JButton,JLabel等。这些增强的组件在Swing中的名称通常都是在AWT组件名前增加了一个“J”字母,如AWT中的Button在Swing中是JButton。大部分的Swing组件是用Java码直接在画布(canvas)上画出来的。Swing组件较不依赖目标平台,且使用较少的NativeGUI资源,被称之为轻量级组件,而AWT组件就被称为重量级组件。当Swing组件和AWT组件重叠在一起时,AWT组件会盖在Swing组件上,若把这两种组件混合着用,结果可能会产生一些bug。图7-1给出了AWT与Swing的关系图,图7-2列出了Swing组件继承关系图,从图中可看出,Swing的组件都继承Container,也就是说Swing的组件都可当作容器来装其他的组件,而AWT的组件就只是组件而已,上面不能放其他的东西。ObjectAWTEventFontFontMetricsColorGraphicsGraphics2DComponentMenucomponentTextComponentButtonCanvasCheckBoxChoiceLabelListScrollbarContainerMenuBarMenuItemGridLayoutFlowLayoutCardLayoutGridBagLayoutMenuCheckboxMenuItemTextAreaTextFieldPanelWindowsFileDialogScrollpaneFrameDialogJAppletJWindowJFrameJDialogJComponentAppletAppletContextAppletStubAudioClipRootPaneContainer类抽象类接口LayoutManagerLayoutManager2BorderLayoutJava.applet包轻量级组件重量级组件Javax.swing包本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|组件继承关系图从关系图可看见一个重要的事实:Swing的组件都继承Container,也就是说Swing的组件都可当作容器来装其他的组件,而AWT的组件就只是组件而已,上面不能放其他的东西。以Button为例,AWT的Button只有两种构造函数:Button()Button(Stringlabel)也就是说Button上面只能放字符串,而JButton就有5种形式,不仅可以放文字,还可以放图片。JButton()JButton(Actiona)JButton(Iconicon)JButton(Stringtext)本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|(Stringtext,Iconicon)AWT组件会耗掉较多的资源,且在跨平台上会有些问题,所以在实际应用中,Swing中的组件用的更多一些,本书也主要以介绍Swing中的组件为主。7.2常用Swing组件及AWT组件7.2.1Component(组件)类java.lang.Objectjava.awt.ComponentComponent类是AWT包中的一个抽象类,通过继承它,可以得到各种功能的组件,Java中的图形组件大多都是Component类的子类。图形组件能够在屏幕上显示一定的图形,用户可通过这些组件与程序进行信息交互,方便、快捷地设计出可视化的图形用户界面。JComponet类继承于Component类,我们常用的Swing组件,如JLabel,JButton等都是JComponet类的子类。由于Component类是所有图形组件类的父类,它包含许多图形组件类共有的成员变量和方法。1.常用成员变量LEFT_ALIGNMENT左边对齐方式RIGHT_ALIGNMENT右边对齐方式2.构造方法Component()构造方法3.常用方法voidadd(Componentcomp)在容器的末尾添加组件comp注意:该方法的参数comp的类为Component,而Component类是所有组件类的父类,即该方法被所有Component类的子类继承。因此,该方法可用于在任何组件类对象中添加任何组件类对象。voidsetBackground(Colorcolor)设置背影颜色voidsetBounds(intx,inty,intw,inth)设置所占矩形的位置和尺寸voidsetFont(Font)设置字体voidsetForeground(Colorc)设置前景颜色voidsetVisible(booleanb)设置组件是否可见。True可见,false不可见voidsetLocation(intx,inty)移动组件到左上角位置为(x,y)voidsetSize(intw,inth)重设组件的大小,其w为宽,h为高注意:上述方法定义在Component类中,而Component类是所有组件类的父类,因此这些方法被所有Component类的子类继承。Component类还定义了许多绘图方法,Component类的绘图方法将在7.4节中介绍。本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|(容器类)java.lang.Objectjava.awt.Componentjava.awt.ContainerContainer类是AWT包中的类,主要用来放置其他组件,所以称作“容器”。由于Container类继承自Component类,所以它既拥有Component类的所有功能,同时,它还具有“容器”的一些特征。1.构造方法Container()构造方法2.常用方法voidremove(Componentcomp)删除容器中的组件voidsetLayout(LayoutManagermgr)设置容器的布局管理器为mgr从图7-1中可以看见,AWT包中容器类的派生子类有:框架(Frame)、面板(Panel)、窗口(Window)、对话框、(Dialog)等。7.2.3Swing容器及组件Swing组件分为顶层容器,中间层容器和基本组件三种类型。顶层容器
本文标题:Java程序设计修改-ch07
链接地址:https://www.777doc.com/doc-6446389 .html