860 likes | 982 Views
基础篇. NetBeans5.0 集成开发环境. NetBeans5.0 集成开发环境. IDE 常规教程 编辑特性 GUI 生成器 (Matisse) 插件(模块)开发包. 继承与多态. 应当达到的目标:. 熟悉继承的概念,掌握域、方法的继承与隐藏 掌握 this 与 super 的使用 理解多态的概念,掌握 java 重载的实现方法 掌握构造函数的继承与重载进行初始化的方法 熟悉包的创建与使用 熟悉接口的声明与实现. NetBeans5.0 集成开发环境. IDE 常规教程 . NetBeans IDE 5.0 特性. 继承与多态.
E N D
基础篇 NetBeans5.0集成开发环境
NetBeans5.0集成开发环境 • IDE 常规教程 • 编辑特性 • GUI 生成器 (Matisse) • 插件(模块)开发包
继承与多态 应当达到的目标: • 熟悉继承的概念,掌握域、方法的继承与隐藏 • 掌握this与super的使用 • 理解多态的概念,掌握java重载的实现方法 • 掌握构造函数的继承与重载进行初始化的方法 • 熟悉包的创建与使用 • 熟悉接口的声明与实现
NetBeans5.0集成开发环境 • IDE 常规教程
NetBeans IDE 5.0特性 继承与多态 特性列表 NetBeans 开发 NetBeans 模块 Matisse GUI Builder 服务器 Web 框架 Web Services 编辑器增强功能 代码完成 重构 版本控制 调试 其它可用性改进 新 NetBeans 附加包 NetBeans IDE 5.0 引入了对基于 NetBeans 平台的 IDE 模块和富客户端程序开发的全面支持,直观的全新 GUI Builder Matisse,经过重新设计的对 CVS 的新支持,对 Sun Application Server 8.2、Weblogic9 和 JBoss 4 的支持,以及很多的编辑器增强功能。
NetBeans IDE 5.0特性 继承与多态 自动完成 特性列表 自动完成类、方法、字段,现在还可以使用代码完成框生成以下的代码片段: 从自定义代码模板产生(以前仅能从扩展缩写中产生);设置方法和获取方法 匿名内部类 ;要重载或实现的方法的方法体 ; 此外,可以输入 camel 命名法缩写来生成代码(例如,在代码完成对话框打开时输入 AIOO 可以生成 ArrayIndexOutOfBoundsException)。现在也可以通过敲入句号、分号或逗号来完成文字输入和关闭弹出框。方法参数显示在工具提示中。 开发 NetBeans 模块 Matisse GUI Builder 服务器 Web 框架 Web Services 编辑器增强功能 代码完成 重构 版本控制 调试 其它可用性改进 新 NetBeans 附加包
NetBeans IDE 5.0特性 继承与多态 重构 特性列表 开发 NetBeans 模块 Matisse GUI Builder 服务器 Web 框架 Web Services 编辑器增强功能 代码完成 重构 版本控制 调试 其它可用性改进 新 NetBeans 附加包 NetBeans 5.0 极大地扩展了可用的重构行为数量。新的重构行为包括: 安全删除 在可能的时候使用父类型 将内部类移至外部 上推 下推 将匿名类转换为内部类 提取方法 提取接口 提取父类型
NetBeans IDE 5.0特性 继承与多态 编辑器各种增强 特性列表 开发 NetBeans 模块 Matisse GUI Builder 服务器 Web 框架 Web Services 编辑器增强功能 代码完成 重构 版本控制 调试 其它可用性改进 新 NetBeans 附加包 Java 提示(用一电灯泡图标标示)帮助您生成代码 支持把 HTML、JSP 和数据库代码片段拖放到 JSP 和 HTML 页面的组件模板 错误条表示出您的文件是否能编译通过,提供对源文件的错误、警告、TODO 和书签的概览。 将选中的代码放到 try-catch 块中 改进的带有语法高亮功能的新 SQL 编辑器 使用拖放的方法在编辑器窗口中剪切和粘贴选中的代码 在代码完成和 XML 验证功能中更方便地添加 XML DTD 和架构。 XML 浏览和改进的 XML 编辑器中自动缩进、代码折叠功能 可以在预定义的快捷键集合和颜色方案中进行选择(和其他著名的开发环境如 Emacs 是一致的)。
NetBeans IDE 5.0特性 继承与多态 编辑器各种增强 特性列表 开发 NetBeans 模块 Matisse GUI Builder 服务器 Web 框架 Web Services 编辑器增强功能 代码完成 重构 版本控制 调试 其它可用性改进 新 NetBeans 附加包 Java 提示(用一电灯泡图标标示)帮助您生成代码 支持把 HTML、JSP 和数据库代码片段拖放到 JSP 和 HTML 页面的组件模板 错误条表示出您的文件是否能编译通过,提供对源文件的错误、警告、TODO 和书签的概览。 将选中的代码放到 try-catch 块中 改进的带有语法高亮功能的新 SQL 编辑器 使用拖放的方法在编辑器窗口中剪切和粘贴选中的代码 在代码完成和 XML 验证功能中更方便地添加 XML DTD 和架构。 XML 浏览和改进的 XML 编辑器中自动缩进、代码折叠功能 可以在预定义的快捷键集合和颜色方案中进行选择(和其他著名的开发环境如 Emacs 是一致的)。
NetBeans IDE 5.0特性 继承与多态 版本控制 特性列表 开发 NetBeans 模块 Matisse GUI Builder 服务器 Web 框架 Web Services 编辑器增强功能 代码完成 重构 版本控制 调试 其它可用性改进 新 NetBeans 附加包 IDE 能自动识别 CVS 工作目录并把所有改动过的文件在版本窗口中列出来。 更新和提交文件是使用 CVS 所执行的最常见的活动:您可以从主要的 IDE 导航窗口(Projects、Files 和 Favorites)或从 Versioning 窗口启动这些操作。标记和颜色编码显示出文件、目录、包和项目的当前状态。通过 Diff 命令可以对单个文件或整个包、目录或项目进行快速比较。新的 CVS 支持使共享项目元文件变得更容易,而且不仅仅可以共享源,还可以共享 IDE 设置。
继承与多态 NetBeans IDE 5.0快速入门 介绍在 NetBeans IDE 5.0 中开发 J2SE 应用程序的一些基本步骤。我们将使用实用工具类创建一个 MyLib 项目,然后使用从库项目实现方法的主类创建一个 MyApp 项目。本文档旨在让您快速入门。 目标 设置项目 • 首先,我们将创建一个新 Java 类库,让它包含我们需要稍后创建的实用工具类。然后,我们需要创建一个新 Java 应用程序,将其用作我们的主项目。创建 MyApp 项目后,我们将 MyLib 的类添加到它的类路径
创建新 Java 类库 4.2 Java的多态 1、选择 File > New Project (Ctrl-Shift-N)。在 Categories 下选择 General。在 Projects 下,选择 Java Class Library 并单击 Next。 2、在 Project Name 下,输入 MyLib。将 Project Location 更改为计算机上的任意目录。从现在起,我们将此目录称为 NetBeans_projects。 注意: 上面指定的类应该如下所示: /NetBeans_projects/MyLib/ 单击 Finish。MyLib 项目将在 Projects 和 Files 两个窗口中打开。
创建新 Java 应用程序 4.2 Java的多态 1、选择 File > New Project。在 Categories 下选择 General。在 Projects 下,选择 Java Application 并单击 Next。 2、在 Project Name 下,输入 MyApp。确保将 Project Location 设置为 NetBeans_projects。 3、输入 acrostic.Main 作为主类。 确保选中 Set as Main Project 和 Create Main Class 复选框。 单击 Finish。MyApp 项目在 Project 窗口中显示,Main.java 在 Source Editor 中打开。
配置编译类路径 4.2 Java的多态 1、在 Projects 窗口中,右键单击MyApp 项目的 Libraries 节点并选择 Add Project。 2、浏览到 NetBeans_projects/ 并选择 MyLib 项目文件夹。Project JAR Files 窗格将显示可以添加到项目的 JAR 文件。注意,MyLib 的 JAR 将被列出,尽管我们还没有实际构建 JAR 文件。此 JAR 文件是在构建和运行 MyApp 项目时被构建的。 3、单击 Add Project JAR Files。 展开 Libraries 节点。注意,MyLib 项目的 JAR 文件将被添加到 MyApp 项目的类路径中。
创建和编辑 Java 源代码 4.2 Java的多态 目标 • 现在我们需要创建 Java 包并添加构造 acrostic 时将使用的方法,然后,我们将实现 Main 类中的 acrostic 方法。 1、右键单击 MyLib 项目节点并选择 New > Java Class。键入 LibClass 作为新类的名称,在 Package 字段键入 org.me.mylib,并单击 Finish。LibClass.java 将在 Source Editor 中打开2、在 LibClass.java 中,将指针置于类声明 (public class LibClass {) 和构造方法 (public LibClass() {) 之间的行上。键入或粘贴以下方法代码: 。
创建和编辑 Java 源代码 4.2 Java的多态 创建 Java 包和类文件 public static String acrostic(String[] args) { StringBuffer b = new StringBuffer(); for (int i = 0; i < args.length; i++) { if (args[i].length() > i) { b.append(args[i].charAt(i)); } else { b.append('?'); } } return b.toString(); } 3、如果粘贴进去的代码格式不正确,则按 Ctrl-Shift-F 为整个文件重新编排格式。 4、按 Ctrl-S 保存文件。
创建和编辑 Java 源代码 4.2 Java的多态 编辑 Java 文件 1、在 Source Editor 中选择 Main.java 选项卡。如果还没有打开它,则在 Projects 窗口中展开 MyApp > acrostics 并双击 Main.java。 2、删除 main 方法中的内容 // TODO code application logic here 并键入以下内容: String result = Li 3、按 Ctrl-Space 打开代码完成框。IDE 为项目编译类路径中的所有类和方法提供代码完成。选择LibClass (org.me.mylib) 并按 Enter。IDE 将填充类名称的其余部分,还为该类自动创建重要语句。注意:IDE 还在代码完成框之上打开一个框,显示所选类或包的 Javadoc 信息。由于大多数包不存在 Javadoc 信息,在到达 Java 类前,该框一直显示 "Cannot find Javadoc message"。
创建和编辑 Java 源代码 4.2 Java的多态 编辑 Java 文件 4、在主方法中,在 LibClass 后输入一个句点。 代码完成框将再次打开。选择 acrostic(String[]args) 方法并按 Enter。IDE 将填充 acrostic 方法并在提示中显示该方法的参数。 5、再次按 Ctrl-Space 以打开代码完成框,并选择 args,然后按 Enter。 6、键入一个分号。注意,它将跟在结束括弧的后面,尽管插入点在括弧内。最后一行应该如下所示: String result = LibClass.acrostic(args); 7、按 Enter 开始一个新行。然后键入 sout 并按空格。sout 缩写将展开为 System.out.println("");,指针位于两个引号之间。在引号中键入 Result = 并在结束引号后键入 + result。最后一行应该如下所示: System.out.println("Result = " + result); 8、按 Ctrl-S 保存文件。
编译和运行项目 4.2 Java的多态 • 现在我们需要设置主类和执行参数,以便运行项目。我们还将看看 IDE 的清除、构建和 Javadoc 生成功能。 目标 设置主类和执行参数 1、右键单击 MyApp 项目节点,选择 Properties,并在对话框的左窗格中选择 Run 模式。注意,已将主类设置为 acrostic.Main。 2、在 Arguments 字段中输入 However we all feel zealous 并单击 OK。
编译和运行项目 4.2 Java的多态 运行主项目 1、从 Run 菜单选择 Run > Run Main Project (F6)。双击 Output 窗口使它最大化,以便能看到所有的输出。注意,Ant 先构建 MyLib.jar,然后使用它编译 MyApp。 最后,它从程序打印输出 Result = Hello(作为参数传递给程序的短语的 acrostic)。 2、选择 Files 窗口并展开 MyApp 项目文件夹。构建类文件位于 build 文件夹中。 按 F6 再次运行程序。什么新内容也不用编译,程序仍可运行。
编译和运行项目 4.2 Java的多态 清除和构建项目 1、选择 Build > Clean and Build Main Project (Shift-F11)。MyLib 项目和 MyApp 项目的清除和重新都是整个过程的组成部分。 2、在 Projects 窗口中右键单击 MyLib 项目节点,并选择 Clean Project。此操作将清除 MyLib 项目 构建个别项目 1、在 Projects 窗口中右键单击 MyLib 项目节点。 2、从上下文菜单选择 Build Project。
编译和运行项目 4.2 Java的多态 生成 Javadoc 1、选择 MyLib 项目。 2、从 IDE 的主菜单选择 Build > Generate Javadoc for Project "MyLib"。 IDE 将在 Output 窗口中显示 Javadoc 输出,此时显示 Javadoc 的 Web 浏览器将打开。
测试和调试项目 继承与多态 现在我们将使用 JUnit 为项目创建和运行测试,然后在 IDE 调试器中运行它以检查错误。 目标 创建 JUnit 测试 1、右键单击 Projects 窗口中的 LibClass.java 节点,并选择 Tools >Create JUnit Tests (Ctrl-Shift-U)。单击 OK 使用默认值选项运行命令。IDE 将在 Test Packages 下创建 org.me.mylib 包和 LibClassTest.java 文件。 2、在 LibClassTest.java 中,删除 testAcrostic 方法的主体,并键入或粘贴以下内容: System.err.println("Running testAcrostic..."); String result = LibClass.acrostic(new String[] {"fnord", "polly", "tropism"}); assertEquals("Correct value", "foo", result); 3、按 Ctrl-S 保存文件。 Graphic{PI,area(),draw()}
测试和调试项目 继承与多态 运行 JUnit 测试 1、选择 MyLib 项目节点并选择 Run > Test "MyLib" (Alt-F6)。 MyLib (test) 选项卡将在 Output 窗口中打开。编译和运行 JUnit 测试案例。JUnit 测试结果显示测试通过。 2、还可以运行单个测试文件,而不是测试整个项目。在 Source Editor 中选择 LibClass.java 选项卡并从 Run 菜单选择 Run > Run File > Test "LibClass.java"。
测试和调试项目 继承与多态 调试项目 1、在 LibClass.java 文件中,转到 acrostic 方法并将插入符号置于 b.append(args[i].charAt(i)); 中的任何位置。 b.append(args[i].charAt(i));. 然后按 Ctrl-F8 设置断点。 2、选择 Run > Debug Main Project (F5)。IDE 将打开 Debugger 窗口并在调试器中运行项目,直到到达断点。 3、选择 Local Variables 窗口并展开 args 节点。字符串数组包含作为命令参数输入的短语。 4、单击工具栏中的 Step Into (F7) 对程序进行单步调试,并观察构造的 acrostic。 当程序到达结尾时,调试器窗口将关闭。
NetBeans5.0集成开发环境 • GUI 生成器 (Matisse) • NetBeans IDE 5.0 中的 GUI 构建
NetBeans IDE 5.0 中的 GUI 构建 继承与多态 任务 名为 ContactEditor 的应用程序创建图形用户界面 (GUI)。 布置一个 GUI 前端,使用该前端可以查看和编辑员工数据库中所包含的个人联系信息。
NetBeans IDE 5.0 中的 GUI 构建 继承与多态 目标 • 在本教程中,您将学会如何: • 使用 GUI Builder 界面 • 创建 GUI 容器 • 添加组件 • 调整组件大小 • 对齐组件 • 调整组件锚定 • 设置组件自动调整大小行为 • 编辑组件属性 NetBeans 的新 GUI Builder 消除了构建 GUI 的困难,允许简单地将组件置于需要它们的位置来布置窗体。
创建项目 NetBeans IDE 5.0 中的 GUI 构建 继承与多态 IDE 项目由一组 Java 源文件和与其关联的元数据构成,它包括特定于项目的属性文件、控制构建和运行设置的 Ant 构建脚本和将 Ant 目标映射为 IDE 命令的 project.xml 文件。Java 应用程序往往由多个 IDE 项目组成,为了简单起见,我们将构建一个全部存储在单个项目中的简单应用程序。 1.选择 File > New Project。或单击 IDE 工具栏中的 New Project 图标。 2.在 Categories 窗格中,选择 General 节点,在 Projects 窗格中,选择 Java Application。单击 Next。 3.在 Project Name 字段中输入 ContactEditor 并指定项目位置。 4.确保选中 Set as Main Project 复选框,如果已选中 Create Main Class,则取消选中它。 5.单击 Finish。
创建GUI 容器 NetBeans IDE 5.0 中的 GUI 构建 继承与多态 创建一个 Java 容器,在其中放置其他必需的 GUI 组件。我们将使用 JFrame 组件构建容器,并将容器置于新包中。 1.在 Projects 窗口中,右键单击 ContactEditor 节点并选择 New > JFrame Form。 2.输入 ContactEditorUI 作为 Class Name。 3.输入 my.contacteditor 作为包。 4.单击 Finish。 • IDE 在 ContactEditorUI.java 应用程序中创建 ContactEditorUI 窗体和 ContactEditorUI 类,并从 GUI Builder 打开 ContactEditorUI 窗体。注意,my.contacteditor 包将替换默认包。
熟悉 GUI Builder NetBeans IDE 5.0 中的 GUI 构建 Palette(调板) 设计区域 Inspector(检查器) 属性窗口
熟悉 GUI Builder NetBeans IDE 5.0 中的 GUI 构建 设计区域。用于创建和编辑 Java GUI 窗体的 GUI Builder 的主窗口。工具栏的 Source and Design 切换按钮允许查看类的源代码或其 GUI 组件的图形视图。其他工具栏按钮提供常见命令的便捷访问,如在 Selection and Connection 模式之间选择、对齐组件、设置组件自动调整大小行为,以及预览窗体。 Inspector(检查器)。按照树层次结构提供应用程序中所有组件(可视的和非可视的)的表示形式。 Palette(调板)。可自定义的可用组件的列表,包含 JFC/Swing、AWT and JavaBeans 组件的选项卡,以及布局管理器。此外,可以使用 Customizer 创建、移除和重排 Palette 中显示的类别。 属性窗口。显示在 GUI Builder、Inspector 窗口、Projects 窗口或 Files 窗口中当前选择的组件的属性。
主要特征 NetBeans IDE 5.0 中的 GUI 构建 自由设计:在 IDE 的 GUI Builder 中,可以通过将组件简单地置于需要的位置来构建窗体,GUI Builder 可以断定需要的布局管理器,然后自动生成代码。 自动组件定位(抓取):向窗体添加组件时,GUI Builder 将提供可视化反馈,帮助根据操作系统的外观定位组件。 可视化反馈:GUI Builder 还提供关于组件锚定和链接关系的可视化反馈。这些指示符可以让您快速识别对 GUI 的显示方式和运行时行为有影响的各种定位关系和组件固定行为。 • 布置窗体时,GUI Builder 将提供可视化准线,给出最佳间距和组件对齐建议。在后台,GUI Builder 将设计决策转换为可用的 UI,这种 UI 是使用新 GroupLayout layout 管理器及其他 Swing 构造实现的。因为它使用动态布局模型,所以使用 GUI Builder 构建 GUI 的行为在运行时根据需要进行,能通过调整以适应任何更改,而不改变已定义组件之间关系。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 添加两个允许使用有标题边框来群集化 UI 组件的 Jpanel。 添加 Jpanel : 1.在 Palette 窗口中,通过单击和释放鼠标按键从 Swing 类别选择 JPanel 组件。 2.将指针移动到 GUI Builder 中窗体的左上角。当组件位置接近容器的左上边缘时,水平和垂直对齐准线将出现,指示较佳的边距。在窗体中单击,将 JPanel 置于此位置。 JPanel 组件在 ContactEditorUI 窗体中以橙色突出显示的方式表示被选中,释放鼠标按键后,显示组件锚定关系的小型指示器出现,同时在 Inspector 窗口中显示相应的 JPanel 节点。 调整 Jpanel 大小 : 在JPanel 边缘上的缩放柄上单击并保持,然后拖动直到窗体边缘附近的虚线对齐准线出现。释放缩放柄以调整组件的大小。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 添加第二个 Jpanel 后,调整其大小,使其充满窗体的剩余垂直空间。 • 向 Jpanel 添加标题边框: 1.选择 GUI Builder 中上面的 Jpanel。 2.在 Properties 窗口,单击 Border 属性旁边的省略号按钮 (...)。在显示的 Jpanel 的 Border 编辑器中,选择 Available Borders 窗格中的 TitledBorder 节点。 3.在下面的 Properties 窗格中,为 Title 属性输入 Name。 4.单击 Font 属性旁边的省略号 (...),为 Font Style 选择 Bold,并为 Size 输入 12。单击 OK 退出对话框。 5.选择下面的 JPanel 并重复执行步骤 2 到 5,但是通过右键单击 JPanel 并使用弹出菜单来访问 Properties 窗口。为 Title 属性输入 E-mail。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 向窗体添加个别组件: 1.向窗体添加 JLabel : (1)在 Palette 窗口中,从 Swing 类别选择 JLabel 组件。 将指针移动到我们以前添加的 Name JPanel 之上。当准线出现,指示将 JLabel 置于 JPanel 的左上角,同时在左上边缘留下较小边距时,单击以放置标签。 将 JLabel 添加到窗体,将表示组件的相应节点添加到 Inspector 窗口。 (2)编辑 Jlabel 的显示文本: 双击 JLabel 选择其显示文本。键入 First Name::并按 Enter 键。 此时将显示 Jlabel 的新名称,并且组件的宽度随编辑的结果调整。 2.向窗体添加 JTextField : 在 Palette 窗口中,选择 JTextField 组件。移动指针,使其紧靠First Name: Jlabel 的右边。当水平准线出现,并使用垂直基线建议两个组件之间的间距时,单击放置JtextField。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 向窗体添加个别组件: 3.在刚才添加的组件的右边紧挨着添加其他 JLabel and JtextField,如下图所示。这一次输入 Last Name:作为 Jlabel 的显示文本,并暂时让 JtextField 的占位符文本保持原样。 • 向窗体添加多个组件: 按住 Shift 键选取和放下组件.按住 Shift 键不要松开,立即单击将另一个 JLabel 放在第一个的右边。确保在放置第二个 Jlabel 前释放 Shift 键。如果忘记在放置最后一个 JLabel 前释放 Shift 键,则请按 Esc 键。 • 插入组件:
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 对齐组件:对齐 Jlabel 的两个列,以便其右边缘在一条直线上。 1.在右边窗体中选择 First Name: and Title: Jlabel。 2.单击工具栏中 Column 按钮中的 Align Right ( )。或者,右键单击弹出菜单的 Column 中的任何一个并选择 Align > Right。 3.再为 Last Name: and Nickname: Jlabel 重复此步骤。 Jlabel 的位置将改变,以便对齐其显示文本的右边缘。锚定关系将更新,以指示组件已分组。 • 设置组件的调整大小行为: 按住 Ctrl 键单击两个插入的 JTextField 组件 ,右键单击它们中的任意一个选择 Auto Resizing > Horizontal。 JTextFields 将被设置为在运行时水平调整大小。对齐准线和锚定指示器将被更新,从而提供组件关系的可视化反馈。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 将组件设置为相同大小:。 1.按住 Ctrl 键单击窗体中的全部四个 JtextField 以选中它们。 2. 右键单击它们中的任意一个并从弹出菜单选择 Set Default Size。 所有这些 JtextField 将被设置为相同的宽度,并且指示器将被添加到每个 JtextField 的顶部边缘,提供组件关系的可视化反馈。 • 添加E-Mail面板中的组件 只要向窗体添加组件,IDE 就使用准线建议目标外观的首选位置。放置后,新组件还将被锚定到最近的容器边缘或组件,以便在运行时维护组件关系。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 添加将显示 ContactEditor 的整个联系人列表的 Jlist。 1.在 Palette 窗口中,从 Swing 类别选择 JList 组件。 2.移动指针,使其紧靠刚才添加的 E-mail Address Jlabel 的下边。当准线出现,指示将 Jlist 的左上边缘沿 Jpanel 的左边缘和上面的 Jlabel 与首选边距对齐时,单击以放置 Jlist。 3.将 Jlist 的右缩放柄拖到封闭的 JPanel 的右边,直到建议对齐准线出现为止。 JList 将进入对齐准线指定的位置,并在 Inspector 窗口中显示其相应节点。 • 添加、对齐和编辑多个按钮的显示文本 1.在 Palette 窗口中,选择 JButton 组件。 2.在下面的 Jpanel 中,将 JButton 移动到 E-mail Address JTextField 的右边缘。当准线出现,按住 Shift 键单击以沿 Jframe 的右边缘放置第一个按钮。释放鼠标按键时,JtextField 的宽度将收缩以适应 Jbutton。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 添加、对齐和编辑多个按钮的显示文本 3.将指针移动到下面的 JPanel 中的 JList 的右上角。当准线出现,指示将 JButton 的右上边缘与 JList 对齐时,按住 Shift 键单击以沿 Jframe 的右边缘放置第二个按钮。 4.在刚才添加的两个 Jbutton 的下边添加两个其他 Jbutton 创建一个列。确保使用建议的间距一致地放置 Jbutton。 5.双击每个 Jbutton,为它们的每个名称输入文本。分别为Add/Edit/Remove/As Default。 JButton 组件将进入对齐准线所指定的位置。按钮的宽度将更改以适应新名称。 6.将组件设置为相同大小:通过按住 Ctrl 键单击选择全部四个 Jbutton。右键单击其中之一,并从弹出菜单选择 Same Size > Same Width。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 缩进: 1.将名为 Mail Format 的 JLabel 添加到 Jlist 下的窗体。确保该标签与上面的 JList 左对齐。 2. 选择 JRadioButton 组件。将指针移动到我们刚才添加的 JLabel 之下。当准线出现,指示将 JradioButton 的左边缘与 Jlabel 对齐时,轻轻向右移动 JRadioButton 直到二级缩进准线出现为止。按住 Shift 键单击 3.将指针移动到第一个 JradioButton 的右边。按住 Shift 键单击放置第二个和第三个 JradioButton, 4.双击每个 JRadioButton,为它们的每个名称输入所需的文本。 5.分别为三个单选按钮命名为HTML/Plain Text/Custom。 至此,已将三个 JradioButton 添加到窗体并在 Mail Format Jlabel 下进行了缩进。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 将 JradioButton 添加到 ButtonGroup 1.在 Palette 窗口中,从 Swing 类别中选择 ButtonGroup 组件。 2.在 GUI Builder 设计区域的任意位置单击,以将 ButtonGroup 组件添加到窗体。注意,ButtonGroup 中窗体中不显示,但在 Inspector 的 Other Component 区域是可见的。 3.选择窗体中的全部三个 JradioButton。 4.在 Properties 窗口中,从 buttonGroup 属性组合框选择 buttonGroup1。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 添加和编辑按钮的显示文本 1.向下拖动 JFrame 的下边缘。这将在 JFrame 的边缘和 JPanel 的边缘之间留出 OK 和 Cancel 按钮的空间。 2.选择 JButton 组件。将指针移动到电子邮件 JLabel 之下的窗体上。当准线出现,指示将 Jbutton 的右边缘与下面的 Jframe 的右下角对齐时,单击以放置按钮。3.将另一个 JButton 添加到第一个的左边,确保沿 Jframe 的下边缘使用建议的间距放置它。。 4.双击每个 JButton 选择其显示文本。分别为OK/Cancel。 5.将两个 Jbutton 设置为相同的大小,方法是选择这两个按钮,右键单击任意一个并从弹出菜单选择 Same Size > Same Width。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 是删除各个组件中的占位符文本。 • 注意,在大致完成窗体时,移除占位符文本是一种避免产生组件对齐和锚定关系问题的有用技巧,大多数开发人员通常在布置窗体的过程中移除此文本。ComboBox 和 JList 中的占位符项目留到以后的教程中介绍。 • 预览 GUI。 • 单击 GUI Builder 工具栏中的 Preview Form 按钮 ( ) 在运行时预览窗体。窗体将在它自己的窗口中打开,允许在构建和运行前先测试它。
部署 GUI 应用程序 NetBeans IDE 5.0 中的 GUI 构建 因为 NetBeans 5.0 GUI Builder 依赖于 Swing Layout Extensions 库,您可以在系统的以下位置找到 Swing Layout Extensions 库的 JAR 文件: NetBeans_installation_folder/ide6/modules/ext/swing-layout-installed_version.jar • 分发和运行独立的 GUI 应用程序 • 要确保 GUI 应用程序将在运行时自动使用 Swing Layout Extensions 库,构建项目时,IDE 自动将 JAR(及项目类路径上的所有其他 JAR 文件)复制到 dist/lib 文件夹。IDE 还将每个 JAR 文件添加到 Class-Path 元素(即应用程序 JAR 文件的 manifest.mf 文件)中。
添加组件:基础 NetBeans IDE 5.0 中的 GUI 构建 • 准备将 GUI 应用程序分发到 IDE 之外的步骤: • 1.将项目的 dist 文件夹(包括 lib 文件夹)压缩为 ZIP 归档文件。 • 2.从命令行运行独立 GUI 应用程序的步骤: • 导航到项目的 dist 文件夹。 • 键入以下内容: java -jar <jar_name>.jar • Build Main Project(F11) compile: Created dir: E:\myjava\ContactEditor\dist Building jar: E:\myjava\ContactEditor\dist\ContactEditor.jar To run this application from the command line without Ant, try: java -jar "E:\myjava\ContactEditor\dist\ContactEditor.jar"
4.3 抽象类与接口 继承与多态 例4.2.1 GraphicDemo.java abstract class Graphic{ public static final double PI=3.1425926; double area(){return 0; }; abstract void draw(); } class Point extends Graphic{ protected double x,y; public Point(double x,double y) { this.x=x;this.y=y; } void draw(){ System.out.println("Draw a point at"+toString()); } public String toString(){ return"("+x+","+y+")"; } }
4.3 抽象类与接口 继承与多态 class Circle extends Graphic{ protected Point o; protected double r; public Circle(Point o,double r){ this.o=o;this.r=r; } double area(){ return PI*r*r; } void draw(){ System.out.println("Draw a circle at"+o.toString()+"and r="+r); }} public class GraphicDemo{ public static void main(String []args){ Graphic []g=new Graphic[3]; g[0]=new Point(10,10); g[1]=new Line(new Point(10,10),new Point(20,30)); g[2]=new Circle(new Point(10,10),4); for(int i=0;i<g.length;i++){ g[i].draw(); System.out.println("Area="+g[i].area()); } } }
4.3 抽象类与接口 继承与多态 例4.2.1 GraphicDemo.java • 子类对象可以被视为其父类的一个对象 • 父类对象不能被当做是其某一子类的对象 • 可以将子类对象传递给父类对象 • 父类引用可以转换为子类的引用