首页 面向对象和多线程综合实验-GUI设计

面向对象和多线程综合实验-GUI设计

举报
开通vip

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

面向对象和多线程综合实验-GUI设计
面向对象与多线程综合实验-GUI 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 教师:段鹏飞实验4-实验目的了解Java图形界面程序的基本结构掌握Java布局管理和常用组件的使用掌握Java事件处理机制实验内容编写程序,将前面课程所编写的档案管理系统改编为图形用户界面。要求:程序界面选用合适的布局,综合使用菜单、按钮、文本框、密码框、下拉列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 、文件对话框等组件,实现良好的人机接口。界面构成1、登陆界面:包含用户名、密码等输入,以及登陆按钮等事件操作。2、管理员、录入员、浏览员等不同对象的主界面:在主界面中实现菜单操作,以及相应地按钮功能(注意界面的布局)。3、在文件上传的过程中实现文件选择对话框(参考JFileChooser)图形用户界面的组成多行文本框组件单选按钮单行文本框标签复选按钮按钮组合框窗口面板容器4、Frame抽象窗口工具集AWTjava.awt包中的主要类以及组件类的继承关系NCEPUjava.lang.ObjectJava中有两种主要容器:窗口和面板窗口(Window)是可以自由移动的,不依赖其他容器而存在的容器面板(Panel)与窗口类似,但不能独立存在,必须包含在另外一个容器里,如包含在Frame或Web中窗口(Window)有两个主要组件:框架和对话框在Java应用程序中,一般独立应用程序主要使用框架(Frame)做容器,在框架上通过放置面板(Panel)来控制图形界面的布局。如果应用到浏览器中,则主要使用面板的一个子类Applet来做容器,它能嵌入浏览器运行。第一节抽象窗口工具集AWTjava.awt包中的主要类以及组件类的继承关系java.lang.Object知识要点-GUI设计 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 一般可按照下列流程进行引入Java图形组件包AWT、Swing选择“外观和感觉”设置窗体属性设置组件布局向窗体中添加组件对组件进行事件处理内容面板:Panel类对象下拉菜单:Menu类对象文本框:TextField类对象按钮:Button类对象窗体:Frame类对象“交互”的实现如何判断“按钮”变化如何实现按下以后的工作知识要点–实现GUI步骤示意菜单组件不能将菜单组件直接添加到一般的容器中不能使用布局管理器对它们进行布局AWT提供的菜单机制是这样的:一个容器包含一个菜单条,一个菜单条中包含多个菜单,一个菜单中包含多个菜单或菜单项和菜单相关的组件有四个:MenuBar,Menu,MenuItem,CheckboxMenuItem.知识要点-菜单布局策略Java在java.awt包中定义了5种布局,它们分别是:FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout。设置布局的格式为:容器对象.setLayout(布局策略);Panelp=newPanel();p.setLayout(newBorderLayout());布局管理器FlowLayout(流式布局)将组件逐个放到容器的一行上一行放满后就重新起一个新行BorderLayout(边界布局)容器被划分为东(East)、南(South)、西(West)、北(North)、中(Center)布局管理器GridLayout(网格式布局)将容器分为大小相等的若干行乘若干列的网格,组件从左至右,从上到下放入网格中,每个组件占一格(表格式)CardLayout(卡片式布局)将容器中的组件处理成一组卡片,每一时刻只显示一张卡片,可以在卡片间切换浮动布局FlowLayout浮动布局是按照组件的顺序,用add方法将组件从左至右在一行排列,一行放不下时就自动换行。这是系统的默认的布局方式。其设置的方法为: setLayout(newFlowLayout());第四节布局管理器NCEPUimportjava.awt.*;publicclassMyFlow{privateFramef;privateButtonb1,b2,b3;publicstaticvoidmain(Stringargs[]){MyFlowmf=newMyFlow();mf.go();}publicvoidgo(){f=newFrame("FlowLayout");f.setLayout(newFlowLayout());b1=newButton("OK");b2=newButton("Open");b3=newButton("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(newBorderLayout());中北西南东边界布局示例1./*边界布局示例*/2.importjava.awt.*;3.publicclassExample4_6extendsjava.applet.Applet4.{5.publicvoidinit(){6.setLayout(newBorderLayout());7.//将其他构件加入8.add("East",newButton("East"));9.add("South",newButton("South"));10.add("West",newButton("West"));11.add("North",newButton("North"));12.add("Center",newButton("Center"));13.}14.}网格布局GridLayoutGridLayout类以矩形网格形式对容器中的组件进行布局。容器被分成大小相等的单元格,单元格的大小由最大的构件所决定,用add方法将组件一行一行地从左至右放置到布局的每个单元格中。其设置的方法为:setLayout(newGridLayout(introw,intcols));row是网格的行数,cols是网格的列数。这种布局包含几个卡片,在某一时刻只有一个卡片是可见的,而且第一个卡片显示的内容可用自己的布局来管理。卡片布局设置的方法为:setLayout(newCardLayout());4、卡片布局CardLayout知识要点-布局技巧容器的嵌套一个包含了多个组件的容器本身可以作为一个组件加到另一个容器中去,容器中再添加容器,这样就形成了容器的嵌套。多面板技术将窗口分割成多个独立的面板,每个面板独立布局(即为每个面板分别设置不同的布局管理器),然后再使用另一种布局管理器来组织这些面板。知识要点-事件处理实现事件处理的步骤创建事件监听器类创建事件监听器对象注册事件监听器2.1事件机制的几个概念事件事件源产生的交互内容,如“按下鼠标”(ActionEvent)在java.awt.event包中定义的类事件监听器接收事件并进行处理,由程序员编写(ActionListener)对应处理所监听事件源产生的事件监听器接口编写“事件监听器”的“规定”–“抽象方法”必须在监听器类中实现这些方法完成事件处理监听器注册将事件监听器对象绑定到事件源,进行监听事件源描述人机交互中事件的来源(EventSource)通常是Java图形包中组件classmyButtonFrameextendsFrame{Buttonbtn;myButtonFrame(Strings){//构造函数super(s);this.setSize(200,120);/*创建按钮*/btn=newButton("点击");this.add(btn);//事件监听器创建和注册ButtonListenerbl=newButtonListener();btn.addActionListener(bl);}}知识要点-事件处理importjava.awt.*;importjava.awt.event.*;classButtonListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){System.out.println(“我知道你按下按钮啦“);}}publicclassActionEventTest{//主类publicstaticvoidmain(Stringargs[]){myButtonFramefrm=newmyButtonFrame("ActionEventTest");frm.show();//显示窗体}}按钮事件源注册监听器设计自己的窗体类监听器类知识要点-终端程序转化为GUI1、借鉴改写计算器的思维,将原来的程序进行封装(只改写showmenu())2、借鉴MVC的思想,界面和控制进行分离。知识要点-注意事项1、设置边界时要使用swing(awt不支持setborder);2、注意使用e.getSource()和e.getActionCommand()来区分不同的对象;谢谢
本文档为【面向对象和多线程综合实验-GUI设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
果果
大家好,我是一名中学老师
格式:ppt
大小:803KB
软件:PowerPoint
页数:0
分类:教育学
上传时间:2021-01-28
浏览量:22