Java程序设计第八章_第1页
Java程序设计第八章_第2页
Java程序设计第八章_第3页
Java程序设计第八章_第4页
Java程序设计第八章_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

目录第一章Java与程序逻辑第二章面向对象程序设计基础第三章面向对象基本特性第四章常用对象使用第五章异常处理第六章I/O操作第七章多线程编程第八章Java的GUI可视界面编程第八章Java的GUI可视界面编程21任务8.1创建窗体任务8.2在窗体上布局控件任务8.3

给Swing组件添加事件3任务8.1创建窗体4情境描述123问题分析解决方案知识总结5应用实践8.1.1情境描述针对企业工资管理而言,图形化、可视化的操作已是信息管理软件开发主流。如何将现有的工资管理系统移植到窗体图形界面中成为Tom需要考虑的首要问题,针对系统的主菜单程序进行图形化操作,他需要完成以下任务:1)利用Java创建窗体对象2)在窗体上绘制组建3)在窗体上添加菜单8.1.2问题分析现有的工资管理系统主界面主要是采取字符行界面输出而来,字符行界面的缺点在于人机交互能力不强,所有的操作都必须通过键盘完成,用户操作难度大。Java提供awt及swing组件,有效的解决了图形化界面的设计问题,swing组件提供的JFrame,JMenu等组件,能够有效地解决用户所需。8.1.3解决方案

1、打开Eclipse开发环境。2、新建包com.esms.view。3、新建环境参数控制类。4、从JFrame类派生新建创建对象FramMain.java。5、在窗体中添加成员。6、在窗体构造函数中初始化组件并布局。7、创建主函数测试主窗体效果。8.1.4知识总结1.GUI界面介绍图形用户界面(GraphicalUserInterface,GUI)是借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便向计算机系统发出指令,启动操作,并将系统运行的结果同样以图形方式显示给用户。Java提供的图形用户界面包有两个,即java.awt包和javax.swing包。8.1.4知识总结2.Swing由于Swing不依赖于任何本地代码,所以采用Swing编写的程序具有100%的可移植性,不需要进行代码的任何改动即可运行于所有的平台。所有的Swing组件都包含在以javax开头的Java扩展包javax.swing包中。程序中用到了该包中的类,需要在源程序前面通过import语言引入对应的类库。8.1.4知识总结3.JFrame容器是一种能够容纳其他组件或容器的特殊组件。每个GUI应用程序必须至少包含一个顶层容器组件。窗体JFrame继承于AWT的Frame类,主要用于设计类似于Windows系统中的窗口形式的应用程序。它可以拥有标题、边框、菜单,而且允许调整大小,其外观依赖于所使用的操作系统。8.1.4知识总结4.Swing菜单菜单是GUI中非常重要的一部分。它显示一个项目列表,指明用户可以执行的各项操作,当用户选择或点击它的某个选项时,会打开另外的一个列表或子菜单。每个菜单项都有一些关联的操作。Swing菜单由菜单栏(JMenuBar)、菜单(JMenu)和菜单项(JMenuItem)构成。JMenuBar是JMenu和JMenuItem的父类,可以将JMenu和JMenuItem对象添加到JMenuBar上。8.1.4知识总结4.Swing菜单创建菜单的基本步骤如下。(1)创建菜单条(JMenuBar)(2)创建菜单(JMenu),加入到相应菜单条(3)创建菜单项(JMenuItem),加入到相应菜单(4)使菜单条依附于拥有它的对象,即添加菜单条到顶层容器8.1.5应用实践配合Swing窗体JFrame和菜单对象,创建程序实现用户界面,如图8-4所示效果。任务8.2在窗体上布局控件4情境描述123问题分析解决方案知识总结5应用实践8.2.1情境描述针对工资管理系统而言,Tom成功的实现了主菜单的可视化,紧接着他需要针对系统操作界面,例如员工的管理界面进行图形化,需要完成以下任务:1)在窗体上添加Swing组件2)将Swing组件合理布局到窗体上8.2.2问题分析界面图形化操作主要通过在窗体方式组件及组件的布局构成,java语言通过在JFrame上放置JPanel,JTextField,JLabel等组件的形式实现,同时通过适当的布局方式,实现界面的合理展现。8.2.3解决方案

1、打开Eclipse。2、在com.esms.view下创建添加A类员工的界面AddEmployeeA.Java。3、新建A类员工修改的窗体EditEmployeeA.java。4、编写删除A类员工的删除窗体DeleteEmployeeA.java。5、测试三个操作界面。8.2.4知识总结1.Swing组件(1)JPanel面板JPanel是一种经常使用的中间层容器。它没有标题和边框,默认属性为透明,也没有背景色彩,即是一种看不见的中间层容器。可以使用add方法在JPanel中放置按钮、文本框等组件。使用时,需要将它添加到顶层容器或其他中间容器中。(2)JLabel标签是显示文本和图片的一个静态区域,用于只能查看而不能修改其内容,但通过代码可以修改其内容。8.2.4知识总结1.Swing组件(3)JButton按钮类用来创建按钮,在按钮上可以设置图标。按钮JButton被广泛用于用户输入,当用户用鼠标单击按钮时,系统会自动执行与该按钮相联系的事件处理程序,从而完成预先指定的功能。(4)JTextFieldJava的文本框有单行文本框JTextField、密码文本框JPasswordField、多行文本框JTextArea等多种。8.2.4知识总结1.Swing组件(5)JCheckBox用于复选框的实现,复选框是一个可以被选定和取消选定的项,它将其状态显示给用户。(6)JRadioButton组件实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。它与ButtonGroup对象配合使用可创建一组按钮,一次只能选择其中的一个按钮。8.2.4知识总结2.布置管理布局管理器可以用来管理各种组件在容器中的放置状态,它会根据平台来调整组件的大小,具有很好的平台无关性。每个容器都有一类布局管理器,当容器对某个组件进行定位或判断时,就会调用其对应的布局管理器,而且可以通过setLayout()方法为容器设置新的布局。8.2.4知识总结2.布置管理(1)FlowLayout流布局管理器组件FlowLayout提供了一种非常简单的布局,用来将一群组件安排在同一行,由左向右排列,并维持组件的大小,当此行已经排满时,它会将剩余的组件自动排列到下一行,而各行的组件会向中间对齐。8.2.4知识总结2.布置管理(2)BorderLayout边界式的布局,它把一个容器分为东、南、西、北、中五个部分,分别为BorderLayout.EAST、BorderLayout.SOUTH、BorderLayout.WEST、BorderLayout.NORTH、BorderLayout.CENTER,若没有指明组件放置的位置,则表明默认的“CENTER”。8.2.4知识总结2.布置管理(3)GridLayout网格布局GridLayout是将容器空间平均分割成若干行乘若干列的网格,每个格放一个组件。各组件按照从上到下,从左到右的顺序排列。GridLayout布局中每个网格都是大小相同,并且强制组件与网格大小相同。8.2.5应用实践编写一个名片管理程序,实现图形界面如图所示。其中可以使用布局管理器来布局,也可以通过添加不同的面板,实现布局。任务8.3给Swing组件添加事件4情境描述123问题分析解决方案知识总结5应用实践8.3.1情境描述Tom在完成了对工资管理系统的主窗体及新建窗体之后,但是,主界面的菜单没有响应事件,同时功能窗体也没有响应事件。为此他需要解决以下任务:添加菜单的点击事件添加按钮的响应事件8.3.2问题分析在window环境下,组件执行的功能是通过事件来完成的,Java语言这对按钮事件通过ActionEvent及ActionListener来解决,执行的方法为ActionPerform。8.3.3解决方案1、打开Eclipse。2、修改FrameMaim.java,添加菜单的事件处理程序。3、添加菜单事件监听。4、运行测试菜单点击事件。5、为AddEmployeeA的添加按钮绑定点击事件。6、为EditEmployeeA的查询按钮添加事件。7、在DeleteEmployeeA.java类中添加删除事件。8、运行程序。8.3.3解决方案8.3.4知识总结1.事件处理机制如果希望能对各种事件做出反应,要编写一个或多个事件处理方法,当程序监听到事件发生后,就可以调用事件处理方法来处理了。(1)事件(Event):用户对界面操作的描述,以类的形式出现。例如鼠标操作对应的事件MouseEvent。在Java的事件处理过程中,主要涉及3类对象。(2)事件源(EventSource):产生事件的组件,如按钮Button。(3)事件监听者(EventListener):接收事件并对其进行处理的对象。8.3.4知识总结2.事件类Java中的事件处理是面向对象的,所有事件都是从java.util包中的EventObject类扩展而来的。EventObject有一个子类AWTEvent,它是所有AWT事件的父类EventObjectAWTEventActionEventAdjustmentEventComponentEventItemEventTextEventContainerEventFocusEventInputEventPaintEventWindowEventKeyEventMouseEvent8.3.4知识总结3.事件监听每种事件都有对应的监听器,监听器是接口。监听器定义了与该事件动作有关的方法,这些方法都有一个参数,接收事件源传递来的事件对象,这个事件对象包含了许多有用的信息,这是对象封装的一个典型例子。创建好监听器后,还需要将监听器注册到对应的组件上才能实现组件上的事件监听。一般使用组件的addXXXListener方法。8.3.4知识总结4.事件适配器Java语言为一些Listener接口提供了适配器(Adapter)类。java.awt.event包中含有的事件适配器包括以下几个:(1)ComponentAdapter组件适配器(2)ContainerAdapter容器适配器

温馨提示

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

最新文档

评论

0/150

提交评论