《图形界面设计AW》课件_第1页
《图形界面设计AW》课件_第2页
《图形界面设计AW》课件_第3页
《图形界面设计AW》课件_第4页
《图形界面设计AW》课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章图形界面设计(AWT)1精选ppt第一章图形界面设计(AWT)1精选ppt课程目标AWT包简介Frame类及其主要方法六个常用控件:Button、Label、TextField、List、Choice、Panel窗体布局(FlowLayout、BorderLayout、GridBagLayout等)事件(按钮事件、窗体事件、鼠标事件)2精选ppt课程目标AWT包简介2精选ppt体验项目——<QQ注册> 编写一个QQ用户注册窗体,当用户在程序窗体中输入信息后,点击“确定”按钮,把用户的提交信息写入到一个文本文件中,实现类似QQ注册的功能。 程序的运行过程如下: (1)程序启动后,出现“QQ注册”窗体界面,填写完整的信息,如图所示:3精选ppt体验项目——<QQ注册> 编写一个QQ用户注册窗体,当用(2)点击“确定”按钮,即可把注册信息写入到同一级目录下的regInfor.txt文件中,同时控制台上会显示“注册成功...”和用户的注册信息。如图所示:(3)如果注册时有任何一项为空,则控制台会提示:“注册信息失败:请填写完整的信息...”,程序运行结果如图所示:(4)若点击图1-1中的“取消”按钮,将退出该程序。4精选ppt(2)点击“确定”按钮,即可把注册信息写入到同一级目录下的r图形界面设计简介AWT简介 AWT(AbstractWindowToolkit-抽象窗口工具箱)是Sun公司自JAVA1.0开始就提供的一个用于基本GUI编程的类库,AWT库包含了多种基本的界面控件类,它可以使我们轻松地创建一个窗口,并且在其中添加按钮、文本框、列表等控件,下面就为大家介绍AWT库的基本知识。AWT主要是由以下三个部分组成:组件(Components)容器(Containers)布局管理器(Layouts)5精选ppt图形界面设计简介AWT简介组件(Components)容器窗体框架Frame类 在JAVA中,顶层窗口(没有包含在另一个窗口中的窗口)我们习惯上称它为框架,它是一个由最大化按钮、最小化按钮、关闭按钮和框架名称所组成的一个框架运行界面。在AWT库中有Frame类与之相对应。 在JAVA图形编程中,框架是最高层的,它是一个容器,所有的组件如按钮、文本框等都包含在这个容器中。6精选ppt窗体框架Frame类 在JAVA中,顶层窗口(没有包含在Frame类的创建及主要方法 我们先编写一个程序,显示一个简单的框架,使大家对框架能有一个比较直观的了解。 importjava.awt.Frame; publicclassFrameApp { publicstaticvoidmain(Stringargs[]) { Frameframe=newFrame(); frame.setSize(180,160); frame.show(); } }7精选pptFrame类的创建及主要方法 我们先编写一个程序,显示一我们先来分析一下上面的例子: 首先,为了能够使用AWT中的Frame类,我们必须导入名为java.awt.Frame的包,然后在主函数中使用Frame类来实例化一个对象,这样一个空的框架就创建好了,之后我们用框架对象的setSize()方法设置该框架的长和宽,然而这样还不够,由于框架创建时并不是可见的,我们还要调用框架对象的show()方法,使之显示在屏幕上。这样当我们运行这段程序后,屏幕上就会出现一个空白的框架了。 上面的程序我们用到了Frame类的几个常用的方法。Frame类还有很多其它的方法,如下所示:8精选ppt我们先来分析一下上面的例子:8精选pptFrame类的几个常用的方法setBackground(Colorc) 设置框架的背景色。setLocation(inta,intb) 设定框架出现在屏幕上的位置。setAlwaysOnTop(booleanb) 决定框架是否显示在最上层。setName(Stringstr) 设置框架的名字。StringgetName() 获取框架的名字。setTitle(Stringstr) 改变框架的标题。add(Componentc) 添加组件到框架Frame中。setIconImage(Imagei) 设置框架的图标。setResizable(booleanb) 决定框架的大小是否可以改变。hide() 隐藏框架使Frame不可见。9精选pptFrame类的几个常用的方法setBackground(控件类按钮Button 按钮控件Button组件的使用是最简单的,只需要实例化Button类,并指定在按钮上出现的标签就行了(如果不想要标签,亦可使用默认标签,但这种情况极少出现)。构造方法: Button() 创建一个按钮,按钮上的标签没有任何内容; Button(Stringlabel) 创建一个按钮,自定义按钮标签上的内容。 如:Bottonbutton=newButton(“按钮");常用方法: setBackground(Colorcolor) 设置按钮的背景色; setEnable(booleanb) 设置按钮是否可用; setFont(Fontf) 设置按钮标签的字体; setForeground(Colorcolor) 设置按钮的前景色; setLabel(Stringtext) 设置按钮标签的内容; setVisible(booleanb) 设置按钮是否可见。10精选ppt控件类按钮Button10精选ppt按钮的例子 importjava.awt.Frame; importjava.awt.Button; importjava.awt.FlowLayout; publicclassButtonAppextendsFrame { Buttonbutton1; Buttonbutton2=newButton("Second"); publicButtonApp() { super("按钮示例"); this.setLayout(newFlowLayout()); button1=newButton(); button1.setLabel("First"); this.setSize(180,160); this.add(button1); this.add(button2); } publicstaticvoidmain(Stringargs[]) { ButtonAppbuttonApp=newButtonApp(); buttonApp.show(); } }

11精选ppt按钮的例子 importjava.awt.Frame;11标签Label 标签控件Label也是一个很简单的控件,用于在Frame中显示一个文本标签,它的用法和Button类似。构造方法: Label() 创建一个标签,标签上没有任何文字。Label(Stringtext) 创建一个标签,并且自定义标签上的文字。Label(Stringtext,intalignment) 创建一个标签,并且自定义标 签上的文字及对齐方向。常用方法: setAlignment(intalign) 设置标签文本的对齐方式setBackground(Colorcolor) 设置标签的背景色setEnable(booleanb) 设置标签是否可用setFont(Fontf) 设置标签文本的字体setForeground(Colorcolor) 设置标签的前景色setText(Stringtext) 设置标签的内容setVisible(booleanb) 设置标签是否可见12精选ppt标签Label 标签控件Label也是一个很简单的控件,文本域TextField文本域控件TextField用来创建一个文本域,允许编辑单行文本。构造方法: TextField() 创建一个文本域TextField(Stringtext) 创建一个文本域,并且初始化其内容TextField(Stringtext,intcolumns) 创建一个文本域,有初始内 容,并且可设置列数TextField(intcolumns) 创建一个文本域,没有初始内 容,可设置列数常用方法: setBackground(Colorcolor) 设置标签的背景色。setColumns(intcolumns) 设置文本域的列数。setEditable(booleanb) 设置文本域可否编辑。setEnable(booleanb) 设置文本域是否可用。setFont(Fontf) 设置文本域文字的字体。setForeground(Colorcolor) 设置文本域的前景色。setText(Stringtext) 设置文本域的文本内容。setVisible(booleanb) 设置文本域是否可见。13精选ppt文本域TextField文本域控件TextField用来创列表框List列表框控件List用来在Frame框架中显示一个列表框。构造方法: List() 创建一个空列表框 List(introws) 创建一个列表框,并指定行数 List(introws,booleanmultipleMode) 创建一个列表框,指定行数, 并指定是否使用多行选择模式常用方法: add(Stringitem) 为列表框追加项目 add(Stringitem,intindex) 在列表框的index位置添加项目 addItem(Stringitem) 同add(Stringitem) addItem(Stringitem,intindex)同add(Stringitem,intindex) clear() 清除列表框的所有项目 intcountItems() 返回int值,即返回列表框的项目总数 delItem(intindex) 删除在列表框index位置的项目 delItems(intstart,intend) 删除从列表框的start位置开始到end位置的所有项目 StringgetSelectedItem() 返回String值,返回一个选中的项目 String[]getSelectedItems()返回String[]数组,返回所有被选中的项目 removeAll() 清除列表框的所有项目 select(intindex) 选中列表框index位置上的项目 setMultipleMode(booleanb)设置能否采用多行选择模式14精选ppt列表框List列表框控件List用来在Frame框架中显示一选择框Choice选择框控件Choice用来在Frame框架中显示一个选择框。构造方法: Choice() 创建一个选择框常用方法: addItem(Stringitem) 为选择框添加一个项目 StringgetItem(intindex) 返回String值,返回选择框index位置的项目 的文本标签 intgetItemCount() 返回int值,返回选择框拥有的项目总数 StringgetSelectedItem() 返回String值,返回已选中的项目 insert(Stringitem,intindex) 在index位置上插入文本标签为item的项目 remove(intindex) 删除index位置上的项目 removeAll() 删除所有项目 select(intindex) 选中index位置上的项目15精选ppt选择框Choice选择框控件Choice用来在Frame框面板Panel 面板控件Panel是JAVA中常用到的容器之一,Panel可以让组件加入其中,还可以设置Panel自己的布局管理器,再由这个管理器控制Panel中各个组件的位置及大小。有了这种特性,我们就可以通过在简单布局中加入Panel的方法,创造出更为复杂的布局。所以适当的利用Panel可以使版面设计更为简单。构造方法: Panel() 建立一个Panel,默认布局是FlowLayoutPanel(LayoutManagerlayout)建立一个Panel,并且自定义布局管理器常用方法: add() 为面板添加其它控件,如Button,Label等setLayout(LayoutManagermgr)设置面板中组件的版面16精选ppt面板Panel 面板控件Panel是JAVA中常用到的容窗体布局为什么要使用布局管理 在最初接触JAVA时,大家就应该了解到JAVA语言是跨平台的语言,而不同的平台对图形界面的管理也是不尽相同的,所以如果我们采用绝对定位的方法管理JAVA图形界面的布局,那么这个界面就会在某些环境下变得支离破碎。JAVA的开发人员当然会考虑到这个问题,他们提出的解决方案就是预先定义若干种布局,再依靠这些基本布局的组合,创造出更为复杂的布局方式。这样,我们开发的应用程序的版面就不会因为应用在不同的操作平台下而变的混乱。这就是我们要讲的布局管理。17精选ppt窗体布局为什么要使用布局管理17精选ppt三种常用的布局FlowLayout布局GridLayout布局BorderLayout布局流水布局网格布局边框布局18精选ppt三种常用的布局FlowLayout布局GridLayoutFlowLayout布局 FlowLayout布局是一个相当简单的排列方法,形如其名FlowLayout就如同流水一般,将加入其中的组件一个接着一个从左往右依次排列下去,若组件个数太多,多到无法只用一行显示时,FlowLayout布局管理器会自动将组件向下一行排列。要使用FlowLayout这种布局,只要在容器中设置使用FlowLayout这种版面管理器即可。构造方法:FlowLayout() 建立一个新的FlowLayout,此FlowLayout默认为居中对齐,而且组件彼此之间有5单位的水平与垂直间距。FlowLayout(intalign) 建立一个新的FlowLayout,此FlowLayout可设置排列方式,而且组件彼此之间有5单位的水平与垂直间距。FlowLayout(intalign,inthgap,intvgap) 建立一个新的FlowLayout,此FlowLayout可设置排列方式与组件间距。19精选pptFlowLayout布局 FlowLayout布局是一个 FlowLayout类的后两个构造方法均有参数,其中参数align可以设定FlowLayout布局中的组件靠什么方向排列。FlowLayout共有五种排列方式CENTER(默认值)LEFTRIGHTLEADINGTRAILING20精选ppt FlowLayout类的后两个构造方法均有参数,其中参数GridLayout布局 GridLayout比FlowLayout多了行和列的设置,也就是说你要先设置GridLayout共有几行几列,就如同一个二维平面一般,然后添加GridLayout布局中的组件会填充第一行的格子,然后再从第二行开始填。依此类推,就像是填充一个个格子一般,而且GridLayout布局管理器会将填进去的组件设置为一样大。构造方法:

GridLayout() 建立一个新的GridLayout布局,默认值为一行一列 GridLayout(introws,intcols)建立一个指定了几行几列的GridLayout布局 GridLayout(introws,intcols,inthgap,intvgap) 建立一个指定了几行几列GridLayout 布局,并设置组件的垂直和水平间距21精选pptGridLayout布局 GridLayout比FlowBorderLayout布局 BorderLayout将版面划分成东、西、南、北、中五个区域,大家可以将组件放在这五个区域中的某个区域里。要使用BorderLayout,只要在容器中设置使用BorderLayout这种版面管理即可。构造方法: BorderLayout()建立一个组件间没有间距的BorderLayout布局 BorderLayout(inthgap,intvgap)建立一个组件间有间距的BorderLayout 布局。22精选pptBorderLayout布局 BorderLayout将 另外还有两种布局CardLayout布局和GridBagLayout布局。 CardLayout布局的功能就如同你将很多张卡片叠在一起,你一次只能看到其中一张卡片,但是你可以任意抽出其中一张卡片来看。 GridBagLayout布局是使用网格单元,指定组件的相对布置,即在一个网格的单元中指定它们的位置,每个组件的网格单元的大小可以不同,每个网格的每一行可以有不同的列数。 由于这CardLayout布局不太常用,因此就不做详细介绍了,有兴趣的同学可以研究一下。23精选ppt 另外还有两种布局CardLayout布局和GridBag事件JAVA事件的处理机制 大家可能已经注意到了上面的程序中,按下按钮后不会触发任何事件。如果你想在按下按钮时,实现一定的功能,就必须进入程序内部,编写用于决定要发生什么事情的代码。在这里就用到了JAVA的事件处理机制。在事件的处理过程中,主要涉及三个对象:Event-事件EventSource-事件源Eventhandler-事件处理者用户对界面操作在JAVA语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent事件发生的场所,通常就是各个组件,例如按钮Button接收事件并对其进行处理的对象24精选ppt事件JAVA事件的处理机制Event-事件EventS JAVA的事件处理是采取“委派事件模型”(也称为观察者模式),所谓的“委派事件模型”是指当事件发生时,产生事件的对象(即事件源)会把此信息传给“事件聆听者”(处理的一种方式),而这里所指的“事件对象”事实上就是java.awt.event事件类库里某个类所创建的对象,我们暂且把它称为“事件对象”。25精选ppt JAVA的事件处理是采取“委派事件模型”(也称为观察者模按钮事件importjava.awt.*; importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener; publicclassButtonEventAppextendsFrame{ ButtonmyButton=newButton("测试按钮"); publicButtonEventApp(){ super("Button事件示例"); myButton.addActionListener(newMyEvent()); this.add(myButton); setSize(160,120); show(); } publicstaticvoidmain(Stringargs[]){ newButtonEventApp(); } } classMyEventimplementsActionListener{ publicvoidactionPerformed(ActionEvente) { System.out.println("Button事件处理测试..."); } }对按钮myButton进行事件注册用内部类实现ActionListener接口编写按钮的执行任务26精选ppt按钮事件importjava.awt.*;对按钮myBu按钮事件程序运行结果运行效果如下:点击“测试按钮”按钮此处我们虽然只是简单的输出了一个字符串,同学们可以试着让程序在点击按钮的时候做一些其他的事,比如取出文本域中的数字进行加减运算等。27精选ppt按钮事件程序运行结果运行效果如下:点击“测试按钮”按钮窗体事件 用户改变窗口的状态,比如最大化、最小化或者关闭等,会触发窗体事件,窗体事件的构造方法是“WindowEvent(Windowsource,intid)”,其中“source”表示触发此事件的窗体,“id”则表示事件代码。 如下列举了窗体事件代码常量以及它们的含义。WINDOW_CLOSED:表示窗口被关闭WINDOW_CLOSING:表示窗口处于关闭过程中WINDOW_DEICONIFIED:表示由最小化恢复为原来大小WINDOW_ICONIFIED:表示窗口被最小化 可以通过“getWindow()”方法或者“getSource(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论