第七章程序设计案例分析 回区 文件视图 √答案:B.n视力;眼光,想象力 3 crack transmission x答案:B.ⅵ.&发出爆裂声 4 bend √答案:B.ⅵ使屈从ⅵ屈从 5 ○A-n病人有病的 答案:An(宽大的睡衣裤 ○B.n遗传,传染 6 regulate ○C.a千巴巴的,枯燥的 √答案:C.ⅵ调整,调节,对准 7 consciousness ○D.n命题,主题;提议 √答案:An意识 √答案:A.n石灰石 设置 4答案:D.n剩余(物);余数 √答案:A.n纬度;黄纬
Java程序设计大学教程 第七章 程序设计案例分析 Java为我们设计图形界面应用程序提供 了丰富的GUI组件,但是Java图形界面 应用程序的设计仍然比较复杂。本章我 们配合这章内容将介绍一个设计案例— —单词赢家软件。通过剖析和研究该应 用程序的设计过程,我们不仅可以对窗 体、菜单、组件、事件、布局等的设计 有一个感性的综合的了解,还可以掌握 使用开发工具(NetBeans IDE)完成 开发项目的一般过程和方法,积累实际 编程经验
7.1可视化程序设计与 NetBeans ide ■可视化程序设计是基于图形用户界面(GUI)和可视化组 件的一种快速应用开发(RAD)方法;可视化程序设计可 以根据用户需求快速建立原型,验证并实现用户需求;并 通过所见即所得的开发提高编程工作的效率。 ■Java有一些优秀的可视化编程工具提供了功能有限的可视 化程序设计开发环境,但目前]ava程序设计无法完全依赖 于可视化编程工具的支持,仍然有很多工作需要手工编程 来完成。 ■ NetBeans ide提供了一些工具,可帮助我们以可视化方 式设计和生成]ava窗体,简化图形用户界面的设计过程, 这些工具包括窗体编辑器、检查器窗口、组件面板窗口 属性窗口、连接向导
Java程序设计大学教程 7.1 可视化程序设计与NetBeans IDE ◼ 可视化程序设计是基于图形用户界面(GUI)和可视化组 件的一种快速应用开发(RAD)方法;可视化程序设计可 以根据用户需求快速建立原型,验证并实现用户需求;并 通过所见即所得的开发提高编程工作的效率。 ◼ Java有一些优秀的可视化编程工具提供了功能有限的可视 化程序设计开发环境,但目前Java程序设计无法完全依赖 于可视化编程工具的支持,仍然有很多工作需要手工编程 来完成。 ◼ NetBeans IDE提供了一些工具,可帮助我们以可视化方 式设计和生成Java窗体,简化图形用户界面的设计过程, 这些工具包括窗体编辑器、检查器窗口、组件面板窗口、 属性窗口、连接向导
7.1可视化程序设计与 NetBeans ide 影过中 文端错和的0主成田运行重构首本③工具①的口的探D B②的。P吵卵 件遍行环响目XM时对 使用 Netbeans Bul Source Packages 计回遭 aJtoegeeuton IDE在窗体编辑器 Word Winner “设计”视图中处: BTonowouo 组件面板窗口 理某个窗体时,将9mm 检查器 D 自动生成代码,并·m B体 Main Panel oc 其用件 在“源”视图中以 Mmp项目窗口 检查器窗口 口 ootonsPanel MPan 蓝色背景显示这些 代码。此代码称为 “受保护文本”,~灬「窗体编辑器 文件大小 不能直接对其进行 Bunon-csonPerformea 属性窗口 编辑 过述器:鲁日 性或成动(总时国:13秒
Java程序设计大学教程 7.1 可视化程序设计与NetBeans IDE 窗体编辑器 检查器窗口 组件面板窗口 属性窗口 项目窗口 使用NetBeans IDE在窗体编辑器 “设计”视图中处 理某个窗体时,将 自动生成代码,并 在“源”视图中以 蓝色背景显示这些 代码。此代码称为 “受保护文本” , 不能直接对其进行 编辑
7.2设计窗体 ■]ava应用程序的窗体包括:用作顶层窗体的框架窗 体( JFrame);用于放置内容的面板窗体 ( Panel);用于用户交互的对话框窗体 ( JDialog)等。设计窗体除了要设计窗体中的 GUI组件和布局外,还要设计相关的事件处理程序 ■在 NetBeans ide中,可以利用新建文件向导创建 具有选定类型的空白窗体,并获得系统生成的基本 代码
Java程序设计大学教程 7.2 设计窗体 ◼ Java应用程序的窗体包括:用作顶层窗体的框架窗 体(JFrame);用于放置内容的面板窗体 (JPanel);用于用户交互的对话框窗体 (JDialog)等。设计窗体除了要设计窗体中的 GUI组件和布局外,还要设计相关的事件处理程序。 ◼ 在NetBeans IDE中,可以利用新建文件向导创建 具有选定类型的空白窗体,并获得系统生成的基本 代码
7.2.1创建主窗体和主面板 在Ne 步骤 选择文件类型 ■从主 项目巴: Wordwinner 件 在 Java GUl窗体 体 节 曰 JavaBeans对象 曰JUnt 国Bean窗体 e窗 体 Ant生成脚本 由Java包 在 的 用贴体 ■Ne 日窗 体 c后是但 0[下=个 打 帮助 开该窗体
Java程序设计大学教程 7.2.1 创建主窗体和主面板 在NetBeans IDE中创建新窗体的步骤如下: ◼ 从主菜单中选择菜单项:“文件->新建文件” 。 ◼ 在“新建文件”向导中展开“Java GUI窗体” 节点,然后选择一个窗体模板——“JFrame窗 体”,然后单击下一步。 ◼ 在 “新建JFrame窗体”向导中输入新建窗体 的名称和位置。然后单击完成。 ◼ NetBeans IDE将创建具有选定类型的空白窗 体,并在“编辑器”标签的“设计”视图中打 开该窗体
7.2.2组件与布局设计 在口多 文件①编视阳生成培行重构新本②工具①的 Bv的P这吵 遍行确目日 Marjane ·每件面 大 计国回 ra BItton JTogcleeultan Word Winner BuconGICD 犬后 Ducamboean 国 SetupDiaiog2m 器 再中G细 器 局其他 口 UPset 同got 导- MainPanel M:国性 "o makeTestuisso "e sehupButonActonPerfomeda mon:E 过器:鲁日色 出,wdmm 成或动《时:13秒)
Java程序设计大学教程 7.2.2 组件与布局设计 ◼ 在NetBeans IDE可视化设计时,使用“组件面板”窗 口、窗体编辑器或“检查器”窗口来添加组件并更改大 多数容器的布局。 ◼ 可以先利用AbsoluteLayout布局设计好程序界面,然后 再将容器的绝对布局转化成合适的相对布局。如果容器 中的GUI元素比较复杂,则可以转化为功能强大的 GridBagLayout布局
7.2.3添加事件 在 NetBeans ide可m18生 G)编辑()视图(生成)运行)重构(A)版本(8)工具①面口帮助(出 下文菜单添加事件,BP出心吵事 startButton [JButton属性 的 actionPertored的处理序 属性事件代码 处理程序口) eastward ord Winner ancestorhoved无> esto Moved 删除() 8, 重命名N aretpositioncha ∥/自动生成事件监听器的代码(不可编辑) startButton. addActionListener(new java. awt event Action Listener(t public void action Performed java. awt event Action Event evt)t testWord(evt); ∥/处理程序方法的空主体(方法头不可编辑,但是方法体可编辑) private void testWord java awt event Action Event evt)t ∥/TODo将在此处添加您的处理代码
Java程序设计大学教程 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设计菜单和对话框 设计菜单和对话框是图形界面应用程序的最常 见特征,菜单可以用于调用不同的程序操作模 块,而通过对话框则可完成特定的设置或操作 任务
Java程序设计大学教程 7.3 设计菜单和对话框 ◼ 设计菜单和对话框是图形界面应用程序的最常 见特征,菜单可以用于调用不同的程序操作模 块,而通过对话框则可完成特定的设置或操作 任务
7.3.1设计菜单 private void init Components menuItemExit. add ActionListener(new java. awt event. ActionListener public void action Performed java. awt event Action Event evt) menuItemExitAction Performed (evt; } private void menuItemExitAction Performed java. awt event Action Event evtt exit();//用户添加的代码
Java程序设计大学教程 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设计对话框 ■对话框根据其显和打 区在用 户处理它之前不 查看:。单词库 匡允 许用户同时在该 回初中英语第一册.wwf 活框。 ■Java类库中现成设 ( OPtion Pane内式 顺序方式将词库中41组单词按照字母顺序排列。 ( JFile Chooser选顺序方式,需输入组号组号为04 选项对话框JOpt‖ 输入组号方式 ○随机选择单词 静态 ⊙英汉测试 方法来显示不同扎○汉英测试 ⊙顺序选择单词 show ConfirmD 文件选择对话框 件系 统浏览程序访问 「确定 存 (调用 show say 回高中英语第二册wf ■自定义对话框是(上辆文计:所 文件名 大学英语四级词汇wf 匚打开@) 撒消c)
Java程序设计大学教程 7.3.2 设计对话框 ◼ 对话框根据其显示模式分为模态对话框和非模态对话框。模态对话框在用 户处理它之前不允许用户同应用程序的主窗口进行交互。非模态对话框允 许用户同时在该对话框和程序其他窗体中切换操作,而不用关闭该对话框。 ◼ Java类库中现成的专用对话框包括:用于显示消息的选项对话框 (JOptionPane),以及一些标准对话框,如:文件选择对话框 (JFileChooser)、颜色选择对话框(JColorChooser)。 ◼ 选项对话框JOptionPane是典型的模态对话框。JOptionPane有四个静态 方法来显示不同类型的消息,它们是:showMessageDialog、 showConfirmDialog、showOptionDialog、showInputDialog。 ◼ 文件选择对话框(JFileChooser),可以允许用户通过一个图形化文件系 统浏览程序访问文件系统,打开(调用showOpenDialog方法)或保存 (调用showSaveDialog方法)一个文件。 ◼ 自定义对话框是继承自JDialog基类,并由程序员自己设计的对话框