JohoLewis《JavaSoftwareSolutions》第六版课件第七章.pps_第1页
JohoLewis《JavaSoftwareSolutions》第六版课件第七章.pps_第2页
JohoLewis《JavaSoftwareSolutions》第六版课件第七章.pps_第3页
JohoLewis《JavaSoftwareSolutions》第六版课件第七章.pps_第4页
JohoLewis《JavaSoftwareSolutions》第六版课件第七章.pps_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

第七章 程序设计案例分析,Java为我们设计图形界面应用程序提供了丰富的GUI组件,但是Java图形界面应用程序的设计仍然比较复杂。本章我们配合这章内容将介绍一个设计案例单词赢家软件。通过剖析和研究该应用程序的设计过程,我们不仅可以对窗体、菜单、组件、事件、布局等的设计有一个感性的综合的了解,还可以掌握使用开发工具(NetBeans IDE)完成开发项目的一般过程和方法,积累实际编程经验。,7.1 可视化程序设计与NetBeans IDE,可视化程序设计是基于图形用户界面(GUI)和可视化组件的一种快速应用开发(RAD)方法;可视化程序设计可以根据用户需求快速建立原型,验证并实现用户需求;并通过所见即所得的开发提高编程工作的效率。 Java有一些优秀的可视化编程工具提供了功能有限的可视化程序设计开发环境,但目前Java程序设计无法完全依赖于可视化编程工具的支持,仍然有很多工作需要手工编程来完成。 NetBeans IDE提供了一些工具,可帮助我们以可视化方式设计和生成Java窗体,简化图形用户界面的设计过程,这些工具包括窗体编辑器、检查器窗口、组件面板窗口、属性窗口、连接向导。,7.1 可视化程序设计与NetBeans IDE,窗体编辑器,检查器窗口,组件面板窗口,属性窗口,项目窗口,使用NetBeans IDE在窗体编辑器“设计”视图中处理某个窗体时,将自动生成代码,并在“源”视图中以蓝色背景显示这些代码。此代码称为“受保护文本”,不能直接对其进行编辑。,7.2 设计窗体,Java应用程序的窗体包括:用作顶层窗体的框架窗体(JFrame);用于放置内容的面板窗体(JPanel);用于用户交互的对话框窗体(JDialog)等。设计窗体除了要设计窗体中的GUI组件和布局外,还要设计相关的事件处理程序。 在NetBeans IDE中,可以利用新建文件向导创建具有选定类型的空白窗体,并获得系统生成的基本代码。,7.2.1 创建主窗体和主面板,在NetBeans IDE中创建新窗体的步骤如下: 从主菜单中选择菜单项:“文件-新建文件”。 在“新建文件”向导中展开“Java GUI窗体”节点,然后选择一个窗体模板“JFrame窗体”,然后单击下一步。 在 “新建JFrame窗体”向导中输入新建窗体的名称和位置。然后单击完成。 NetBeans IDE将创建具有选定类型的空白窗体,并在“编辑器”标签的“设计”视图中打开该窗体。,7.2.2 组件与布局设计,在NetBeans IDE可视化设计时,使用“组件面板”窗口、窗体编辑器或“检查器”窗口来添加组件并更改大多数容器的布局。 可以先利用AbsoluteLayout布局设计好程序界面,然后再将容器的绝对布局转化成合适的相对布局。如果容器中的GUI元素比较复杂,则可以转化为功能强大的GridBagLayout布局。,7.2.3 添加事件,在NetBeans IDE可视化设计时,可以使用组件的“属性”窗口或上下文菜单添加事件,定义事件处理程序。系统将自动生成事件监听器的代码和处理程序方法的空主体。 我们可以使用组件的“属性”窗口或上下文菜单定义事件处理程序。使用“属性”窗口定义事件处理程序的步骤如下(以startButton的Action事件为例): 在“检查器”窗口中选择组件startButton,然后在“属性”窗口中单击“事件”。 在列表中单击所需事件的值actionPerformed。初始时,所有事件的值均为。当单击值字段时,将替换为缺省事件名。 在属性表单中,键入所需的处理程序名称并按Enter键,或者直接按Enter键以使用缺省处理程序名称。如果未按Enter键,将不生成任何代码。也可以单击事件的省略号(.) 按钮以显示“处理程序”对话框。单击“添加”按钮,将新的名称testWord添加到处理程序列表中,然后单击“确定”。 此时系统自动生成事件监听器的代码和处理程序方法的空主体 。,选择要添加的事件处理程序,/自动生成事件监听器的代码(不可编辑) startButton.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) testWord(evt); /处理程序方法的空主体(方法头不可编辑,但是方法体可编辑) private void testWord(java.awt.event.ActionEvent evt) / TODO 将在此处添加您的处理代码: ,7.3 设计菜单和对话框,设计菜单和对话框是图形界面应用程序的最常见特征,菜单可以用于调用不同的程序操作模块,而通过对话框则可完成特定的设置或操作任务。,7.3.1 设计菜单,手工创建菜单时,需要先创建菜单项对象(JMenuItem的实例)、菜单对象(JMenu的实例)、菜单栏对象(JMenuBar的实例)。然后把菜单项对象添加到菜单对象中;把菜单对象添加到菜单栏对象中。最后使用setJMenuBar方法,为那个能使用菜单的容器组件添加完整的主菜单栏。使用NetBeans IDE在窗体编辑器中可视化设计菜单。 使用NetBeans IDE在窗体编辑器中可视化设计菜单,使得编写菜单程序颇为简单。具体步骤如下: 首先在窗体编辑器中创建菜单栏 然后将菜单添加到菜单栏中 接着是添加菜单项 最后为菜单项添加事件,private void initComponents() . . menuItemExit.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) menuItemExitActionPerformed(evt); . . ); private void menuItemExitActionPerformed(java.awt.event.ActionEvent evt) exit();/用户添加的代码 ,7.3.2 设计对话框,对话框根据其显示模式分为模态对话框和非模态对话框。模态对话框在用户处理它之前不允许用户同应用程序的主窗口进行交互。非模态对话框允许用户同时在该对话框和程序其他窗体中切换操作,而不用关闭该对话框。 Java类库中现成的专用对话框包括:用于显示消息的选项对话框(JOptionPane),以及一些标准对话框,如:文件选择对话框(JFileChooser)、颜色选择对话框(JColorChooser)。 选项对话框JOptionPane是典型的模态对话框。JOptionPane有四个静态方法来显示不同类型的消息,它们是:showMessageDialog、showConfirmDialog、showOptionDialog、showInputDialog。 文件选择对话框(JFileChooser),可以允许用户通过一个图形化文件系统浏览程序访问文件系统,打开(调用showOpenDialog方法)或保存(调用showSaveDialog方法)一个文件。 自定义对话框是继承自JDialog基类,并由程序员自己设计的对话框。,7.4 设计算法,在单词赢家软件中,要求程序能够从词库文件中解析出单词的中英文对照字符串,并将50个词汇一组生成一个供测试的单词组。用户一次进行一组词汇的英译中或中译英的选择题测试。其核心的算法涉及: 如何从词库文件中解析出单词的中英文对照字符串,并生成测试单词组。其中包括了顺序生成和随机生成50个测试词汇。 如何产生测试选择题的4个选项,其中要求正确答案的ABCD位置随机变化以及随机生成另外3个用于干扰的假答案。 如何在图形界面上实现用户交互,完成答题过程。,7.5 完成和部署应用程序,完成Word

温馨提示

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

评论

0/150

提交评论