您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > java-AWT编程教程
JAVA程序设计平顶山学院软件学院第9部分:GUI程序设计软件学院黄淼hm821124@126.com2011JAVA程序设计平顶山学院软件学院主要内容:•抽象窗口工具集•AWT组件的分类•AWT组件的使用•图形用户界面设计的步骤•窗口的布局管理设计•事件处理机制•对话框•Swing简介JAVA程序设计平顶山学院软件学院图形用户界面GUI•通过图形用户界面(GUI:GraphicsUserInterface):用图形的方式,借助菜单,按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机发出指令、启动操作,并将系统运行的结果同样以图形的方式显示给用户的技术。•Java语言提供了两个处理图形用户界面的类库:java.awt包和javax.swing包。JAVA程序设计平顶山学院软件学院抽象窗口工具包AWTJava的抽象窗口工具包(AWT:AbstractWindowToolkit)中包含了许多类来支持GUI设计。包中有许多用来设计GUI的组件类,如:按钮、菜单、列表、文本框等组件类,同时它还包含窗口、面板等容器类。掌握AWT包各种工具组件的使用是学好后续swing包中工具的基础。JAVA程序设计平顶山学院软件学院抽象窗口工具包AWT(AbstractWindowToolkit)•java.awt包–提供了基本的java程序的GUI设计工具组件—Component容器—Container布局管理器—LayoutManagerJAVA程序设计平顶山学院软件学院常用组件(AWT)•java.awt中的各个类java.lang.ObjectColor颜色Font字体Component组件BorderLayout,FlowLayoutCardLayout,GridBagLayout布局类CheckboxGroup复选框组Image图象AWTEvent事件MenuComponent菜单组件Graphics图形AWT包JAVA程序设计平顶山学院软件学院图形组件类的继承关系ObjectComponentButtonCanvasChoiceCheckboxLabelListScrollbarTextComponentContainerWindowPanelScrollPaneDialogFileDialogFrameTextAreaTextFieldJAVA程序设计平顶山学院软件学院Component(组件)•Java的图形用户界面的最基本组成部分是组件(Component),组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个文本框等。•组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。JAVA程序设计平顶山学院软件学院Container(容器)•容器(Container)实际上是Component的子类。–容器中可以容纳其他组件–使用add()方法,将其他组件加入容器–使用remove()删除指定组件–组件的位置和尺寸由布局管理器决定JAVA程序设计平顶山学院软件学院LayoutManager(布局管理器)•为了使我们生成的图形用户界面具有良好的平台无关性,Java语言中,提供了布局管理器这个工具来管理组件在容器中的布局,而不使用直接设置组件位置和大小的方式。•每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。JAVA程序设计平顶山学院软件学院LayoutManager(续)•在程序安排组件的位置和大小时,应该注意:–容器中的布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用Java语言提供的setLocation(),setSize(),setBounds()等方法,则都会被布局管理器覆盖。–如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:setLayout(null);JAVA程序设计平顶山学院软件学院常用容器•Frame•Panel•AppletJAVA程序设计平顶山学院软件学院java.awt.Window是三个窗口组件中最基本的组件,它实际上是Frame与Dialog组件的超类。窗口组件没有边界、标题栏与菜单栏,而且大小不可以调整。常用窗口实现的界面包括:产品信息的封面(如Outlook等软件启动时,显示在屏幕中间且几秒后自动消失的封面窗口),提示帮助信息(如使用金山词霸等软件时,移动鼠标到某个英文单词上时自动弹出的解释信息)等。窗口(Window)JAVA程序设计平顶山学院软件学院Frame(框架)Frame是一个带有标题和缩放角的窗口。无边框、菜单的空白窗口。不需要其他组件支撑,独立显示。用于Application,含边框、标题和菜单的独立窗口JAVA程序设计平顶山学院软件学院Frame(续)•一般我们要生成一个窗口,通常是用Window的子类Frame来进行实例化,而不是直接用到Window类。•每个Frame的对象实例化以后,都是没有大小和不可见的,因此必须调用setSize()来设置大小,调用setVisible(true)来设置该窗口为可见的。JAVA程序设计平顶山学院软件学院1.importjava.awt.*;2.publicclassMyFrameextendsFrame{3.publicstaticvoidmain(Stringargs[]){4.MyFramefr=newMyFrame(HelloOutThere!);//构造方法5.fr.setSize(200,200);//设置Frame的大小,缺省为(0,0)6.fr.setBackground(Color.red);//设置Frame的背景,默认为白色7.fr.setVisible(true);//设置Frame为可见,缺省为不可见8.}9.publicMyFrame(Stringstr){10.super(str);//调用父类的构造方法11.}12.}AWT在实际的运行过程中是调用所在平台的图形系统,因此同样一段AWT程序在不同的操作系统平台下运行所看到的图形系统是不一样的!JAVA程序设计平顶山学院软件学院java.awt.Dialog也是Window的扩展类。与框架相同的是,对话框也拥有边界与标题栏,而且也可以调整大小;而与框架不同的是,对话框不支持附加菜单栏,而且对话框可以模式化属性设置,这是窗口和框架都不允许的。因此,如果用户在程序设计过程中需要创建一个临时窗口与用户交换信息时,使用模式对话框是最方便的。另外,AWT中还提供了Dialog类的一个常用的扩展类——FileDialog(文件对话框)。它可以为用户选择一个待打开或保存的文件。对话框(Dialog)JAVA程序设计平顶山学院软件学院属性WindowFrameDialog模式化不是不是不是(可设置)可调大小不可可可标题栏无有有边界无有有标题无有有菜单栏无有无焦点管理器有有有警告字符串有有有图表无有无定位到框架可不可可Window、Frame与Dialog组件的属性JAVA程序设计平顶山学院软件学院Panel(面板)属于无边框容器。必须放在Window组件中(或Web浏览器窗口)才能显示。它为一矩形区域,在其中可摆放其他组件,可以有自己的布局管理器。JAVA程序设计平顶山学院软件学院1.importjava.awt.*;2.publicclassFrameWithPanelextendsFrame{3.publicFrameWithPanel(Stringstr){4.super(str);5.}6.publicstaticvoidmain(Stringargs[]){7.FrameWithPanelfr=newFrameWithPanel(FramewithPanel);8.fr.setSize(200,200);9.fr.setBackground(Color.red);//框架fr的背景颜色设置为红色10.fr.setLayout(null);//取消布局管理器11.Panelpan=newPanel();12.pan.setSize(100,100);13.pan.setBackground(Color.yellow);14.//设置面板pan的背景颜色为黄色15.fr.add(pan);//用add方法把面板pan添加到框架fr中16.fr.setVisible(true);17.}18.}JAVA程序设计平顶山学院软件学院运行结果JAVA程序设计平顶山学院软件学院非容器类Component类的分类Component类是所有组件的父类。他们拥有很多共同的方法。常用的组件可分为三种:(1)命令类:按钮Button(2)选择类:菜单Menu、复选框Checkbox、单选框CheckboxGroup、列表框List、下拉列表框Choice。(3)文字处理类:文本框TextField、文本区域TextArea。JAVA程序设计平顶山学院软件学院1.组件的颜色•publicvoidsetBackground(Colorc)设置组件的背景色。•publicvoidsetForeground(Colorc)设置组件的前景色。•publicColorgetBackground()获取组件的背景色。•publicColorgetForeground()获取组件的前景色。JAVA程序设计平顶山学院软件学院创建Color类的一个对象publicColor(intred,intgreen,intblue)例如,下面的语句定义红色:Colorcolor=newColor(255,0,0);颜色设置——Color类JAVA程序设计平顶山学院软件学院Color类的十三种颜色常量JAVA程序设计平顶山学院软件学院2.组件的字体•publicvoidsetFont(Fontf)组件调用该方法设置组件上的字体。例如,文本组件调用该方法可以设置文本组件中的字体。•publicFontgetFont()组件调用该方法获取组件上的字体。JAVA程序设计平顶山学院软件学院3.组件的大小与位置•publicvoidsetSize(intwidth,intheight)组件调用该方法设置组件的大小,参数width指定组件的宽度,height指定组件的高度。•publicvoidsetLocation(intx,inty)组件调用该方法设置组件在容器中的位置,包含该组件的容器都有默认的坐标系,容器的坐标系的左上角的坐标是(0,0),参数x,y指定该组件的左上角在容器的坐标系中的坐标,即组件距容器的左边界x个像素,距容器的上边界y个像素。•publicDimensiongetSize()组件调用该方法返回一个Dimension对象的引用,该对像实体中含有名字是width和height的成员变量,方法返回的Dimension对象的width的值就是组件的宽度、height的值就是当前组件的高度。•publicPointgetLocation()组件调用该方法返回一个Point对象的引用,该对像实体中含有名字是x和y的成员变量,方法返回的Point对象的x,y的值就是组件的左上角在容器的坐标系中的x坐标和y坐标。•publicvoidsetBounds(intx,inty,intwidth,intheight)组件调用该方法设置组件在容器中的位置和组件的大小。该方法相当于setSize方法和setLocation方法的组合。•publicRectanglegetBounds()组件调用该方法返回一个Rectangle对象的引用,该对象实体中含有名字是x、y、width和height的成员变量,方法返回的Rectangle对象的x,y的值就是组件的左上角在容器的坐标系中的x坐标和y坐标,width和height的值就是当前组件的宽度和高度。JAVA程序设计平顶山学院软件学院4.组件的激活与可见性•publicvoidsetEnabled(boolea
本文标题:java-AWT编程教程
链接地址:https://www.777doc.com/doc-6332929 .html