面向对象和多线程综合实验GUI设计课件.ppt

上传人(卖家):晟晟文业 文档编号:4143683 上传时间:2022-11-14 格式:PPT 页数:27 大小:508.48KB
下载 相关 举报
面向对象和多线程综合实验GUI设计课件.ppt_第1页
第1页 / 共27页
面向对象和多线程综合实验GUI设计课件.ppt_第2页
第2页 / 共27页
面向对象和多线程综合实验GUI设计课件.ppt_第3页
第3页 / 共27页
面向对象和多线程综合实验GUI设计课件.ppt_第4页
第4页 / 共27页
面向对象和多线程综合实验GUI设计课件.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、面向对象与多线程综合实验-GUI设计教师:段鹏飞实验 4-实验目的 了解Java图形界面程序的基本结构 掌握Java布局管理和常用组件的使用 掌握Java事件处理机制实验内容 编写程序,将前面课程所编写的档案管理系统改编为图形用户界面。要求:程序界面选用合适的布局,综合使用菜单、按钮、文本框、密码框、下拉列表、文件对话框等组件,实现良好的人机接口。界面构成 1、登陆界面:包含用户名、密码等输入,以及登陆按钮等事件操作。2、管理员、录入员、浏览员等不同对象的主界面:在主界面中实现菜单操作,以及相应地按钮功能(注意界面的布局)。3、在文件上传的过程中实现文件选择对话框(参考JFileChooser

2、)图形用户界面的组成多行文本框组件单选按钮单行文本框标签复选按钮按钮组合框窗口面板容器4、Frame抽象窗口工具集AWT java.awt包中的主要类 以及组件类的继承关系NCEPU颜颜色色类类字字体体类类组组件件类类布布局局类类复选复选框组框组类类图图像像类类事事件件类类菜单菜单组件组件类类图图形形类类java.lang.Object标标签签类类按按钮钮类类容容器器类类复选复选框框类类滚动滚动条条类类选择选择框框类类列表列表框框类类文本文本组件组件类类画画布布类类面板类面板类窗口类窗口类框架类框架类对话框类对话框类文件对话框类文件对话框类java.applet.Applet组件组件(comp

3、onent)是具有一定功能、能够产生事件的是具有一定功能、能够产生事件的 部件的统称。部件的统称。例如:窗口,以及窗口上的文本框、按钮、例如:窗口,以及窗口上的文本框、按钮、复选框、列表框、菜单等都是组件复选框、列表框、菜单等都是组件组件类是组件类是Object的子类,是一个抽象类,是所有组件的子类,是一个抽象类,是所有组件的超类,它为其他子类定义了许多共同的属性,的超类,它为其他子类定义了许多共同的属性,如:位置、大小、字体、颜色等。如:位置、大小、字体、颜色等。容器容器(container)是一组特殊的组件是一组特殊的组件,它能容纳其他组件它能容纳其他组件容器类是组件类的子类容器类是组件类

4、的子类由于容器是组件,所以容器之上还可以再放置其他容由于容器是组件,所以容器之上还可以再放置其他容器,这样就可以创建出复杂的界面器,这样就可以创建出复杂的界面Java中有两种主要容器:窗口和面板中有两种主要容器:窗口和面板窗口窗口(Window)是可以自由移动的,不依赖其他容器是可以自由移动的,不依赖其他容器而存在的容器而存在的容器面板面板(Panel)与窗口类似,但不能独立存在,必须包含与窗口类似,但不能独立存在,必须包含在另外一个容器里,如包含在在另外一个容器里,如包含在Frame或或Web中中窗口窗口(Window)有两个主要组件:框架和对话框有两个主要组件:框架和对话框在在Java应用

5、程序中,一般独立应用程序主要使用框架应用程序中,一般独立应用程序主要使用框架(Frame)做容器,在框架上通过放置面板做容器,在框架上通过放置面板(Panel)来控制图形界面的布局。来控制图形界面的布局。如果应用到浏览器中,则主要使用面板的一个子类如果应用到浏览器中,则主要使用面板的一个子类Applet来做容器,它能嵌入浏览器运行。来做容器,它能嵌入浏览器运行。第一节 抽象窗口工具集AWT java.awt包中的主要类 以及组件类的继承关系颜颜色色类类字字体体类类组组件件类类布布局局类类复选复选框组框组类类图图像像类类事事件件类类菜单菜单组件组件类类图图形形类类java.lang.Object

6、标标签签类类按按钮钮类类容容器器类类复选复选框框类类滚动滚动条条类类选择选择框框类类列表列表框框类类文本文本组件组件类类画画布布类类面板类面板类窗口类窗口类框架类框架类对话框类对话框类文件对话框类文件对话框类java.applet.AppletPanelFrameContainerComponent知识要点-GUI设计流程 一般可按照下列流程进行1.引入Java图形组件包、2.选择“外观和感觉”3.设置窗体属性4.设置组件布局5.向窗体中添加组件6.对组件进行事件处理内容面板:Panel类对象下拉菜单:Menu类对象文本框:TextField类对象按钮:Button类对象窗体:Frame类对象

7、“交互”的实现如何判断“按钮”变化如何实现按下以后 的工作知识要点 实现GUI步骤示意 菜单组件 不能将菜单组件直接添加到一般的容器中 不能使用布局管理器对它们进行布局 AWT提供的菜单机制是这样的:一个容器包含一个菜单条,一个菜单条中包含多个菜单,一个菜单中包含多个菜单或菜单项 和菜单相关的组件有四个:MenuBar,Menu,MenuItem,CheckboxMenuItem.知识要点-菜单布局策略Java在java.awt包中定义了5种布局,它们分别是:FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout。设置布局的格式为

8、:容器对象.setLayout(布局策略);Panel p=new Panel();p.setLayout(new BorderLayout();布局管理器 FlowLayout(流式布局)将组件逐个放到容器的一行上一行放满后就重新起一个新行 BorderLayout(边界布局)容器被划分为东(East)、南(South)、西(West)、北(North)、中(Center)布局管理器 GridLayout(网格式布局)将容器分为大小相等的若干行乘若干列的网格,组件从左至右,从上到下放入网格中,每个组件占一格(表格式)CardLayout(卡片式布局)将容器中的组件处理成一组卡片,每一时刻只显

9、示一张卡片,可以在卡片间切换浮动布局FlowLayout 浮动布局是按照组件的顺序,用add方法将组件从左至右在一行排列,一行放不下时就自动换行。这是系统的默认的布局方式。其设置的方法为:setLayout(new FlowLayout();第四节 布局管理器NCEPUimport java.awt.*;public class MyFlow private Frame f;private Button b1,b2,b3;public static void main(String args)MyFlow mf=new MyFlow();mf.go();public void go()f=ne

10、w Frame(Flow Layout);f.setLayout(new FlowLayout();b1=new Button(OK);b2=new Button(Open);b3=new Button(Close);f.add(b1);f.add(b2);f.add(b3);f.setSize(100,100);f.setVisible(true);输出为:边界布局BorderLayoutBorderLayout类把容器划分成5个区域,分别标记为“North”、“South”、“West”、“East”和“Center”。其设置的方法为:setLayout(new BorderLayout(

11、);中北西南东边界布局示例 1./*边界布局示例*/2.import java.awt.*;3.public class Example4_6 extends java.applet.Applet4.5.public void init()6.setLayout(new BorderLayout();7./将其他构件加入8.add(East,new Button(East);9.add(South,new Button(South);10.add(West,new Button(West);11.add(North,new Button(North);12.add(Center,new But

12、ton(Center);13.14.网格布局GridLayoutGridLayout类以矩形网格形式对容器中的组件进行布局。容器被分成大小相等的单元格,单元格的大小由最大的构件所决定,用add方法将组件一行一行地从左至右放置到布局的每个单元格中。其设置的方法为:setLayout(new GridLayout(int row,int cols);row是网格的行数,cols是网格的列数。这种布局包含几个卡片,在某一时刻只有一个卡片是可见的,而且第一个卡片显示的内容可用自己的布局来管理。卡片布局设置的方法为:setLayout(new CardLayout();4、卡片布局CardLayout知

13、识要点-布局技巧 容器的嵌套容器的嵌套一个包含了多个组件的容器本身可以作为一个组件加到另一个包含了多个组件的容器本身可以作为一个组件加到另一个容器中去,容器中再添加容器,这样就形成了容器的一个容器中去,容器中再添加容器,这样就形成了容器的嵌套。嵌套。多面板技术多面板技术将窗口分割成多个独立的面板,每个面板独立布局(即为将窗口分割成多个独立的面板,每个面板独立布局(即为每个面板分别设置不同的布局管理器),然后再使用另一每个面板分别设置不同的布局管理器),然后再使用另一种布局管理器来组织这些面板。种布局管理器来组织这些面板。知识要点-事件处理 实现事件处理的步骤1.创建事件监听器类2.创建事件监听

14、器对象3.注册事件监听器 2.1 事件机制的几个概念事 件 事件源产生的交互内容,如“按下鼠标”(ActionEvent)在 java.awt.event包中定义的类事件监听器 接收事件并进行处理,由程序员编写(ActionListener)对应处理所监听事件源产生的事件 监听器接口 编写“事件监听器”的“规定”“抽象方法”必须在监听器类中实现这些方法完成事件处理监听器注册 将事件监听器对象绑定到事件源,进行监听事件源 描述人机交互中事件的来源(EventSource)通常是Java图形包中组件7.class myButtonFrame extends Frame 8.Button btn;9

15、.myButtonFrame(String s)/构造函数1.super(s);2.this.setSize(200,120);3./*创建按钮*/4.5./事件监听器创建和注册6.7.8.9.知识要点-事件处理1.import java.awt.*;import java.awt.event.*;2.class ButtonListener implements ActionListener 3.public void actionPerformed(ActionEvent e)4.System.out.println(“我知道你按下按钮啦“);5.6.19.public class Act

16、ionEventTest /主类 20.public static void main(String args)21.myButtonFrame frm=new myButtonFrame(ActionEventTest);22.frm.show();/显示窗体23.24.按钮 事件源注册监听器设计自己的窗体类监听器类主类知识要点-终端程序转化为GUI1、借鉴改写计算器的思维,将原来的程序进行封装(只改写showmenu())2、借鉴MVC的思想,界面和控制进行分离。知识要点-注意事项1、设置边界时要使用swing(awt不支持setborder);2、注意使用e.getSource()和e.getActionCommand()来区分不同的对象;谢谢

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(面向对象和多线程综合实验GUI设计课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|