开发通用Java 应用程序简介

来源:岁月联盟 编辑:zhuzhu 时间:2008-12-23

  我们将开发一个单词转换应用程序,用于将多个英文单词转换为一个英文单词。生成单词的构成形式为第一个词的第一个字母、第二个词的第二个字母、第三个词的第三个字母,依此类推。该生成词称为 离合词。

  建立项目

  我们创建的应用程序将包含两个项目:

  具有实用程序类的 java 库项目。

  具有 main 类的 Java 应用程序项目,该类将通过库项目实现方法。

  注意:严格来讲,对于如此简单的应用程序,不需要建立两个项目。我们使用两个项目只是为了演示较复杂的应用程序所需的功能。

  首先,创建一个新的 Java 类库来包含稍后需要使用的实用程序类。然后,需要创建一个新的 Java 应用程序,并将其作为主项目使用。创建 MyApp 项目后,将 MyLib 的类添加到其类路径中。

  创建新 Java 类库

  选择 File > New Project (Ctrl-Shift-N)。在 Categories 选项中,选择 Java。在 Projects 选项中,选择 Java Class Library,然后单击 Next 按钮。

  在 Project Name 中输入 MyLib。将 Project Location 更改为计算机上的任何目录。在下文中,我们将此目录称作 NetBeans_projects 。

  注意:以上指定的路径应按如下格式显示在向导的 Project Folder 字段中: / NetBeans_projects /MyLib/

  单击 Finish 按钮,MyLib 项目会在 Projects 窗口和 Files 窗口中打开。

  创建新 Java 应用程序

  选择 File > New Project。在 Categories 选项中,选择 Java。在 Projects 选项中,选择 Java Application,然后单击 Next 按钮。

  在 Project Name 中,输入 MyApp。确保将 Project Location 设置为 NetBeans_projects 。

  输入 acrostic.Main 作为 main 类。

  确保选中 Set as Main Project 和 Create Main Class 复选框。

  单击 Finish 按钮。MyApp 项目将显示在 Project 中,并且 Main.java 将在 Source Editor 中打开。

  配置编译类路径

  由于 MyApp 将依赖于 MyLib 中的类,因而我们必须将 MyLib 添加到 MyApp 的类路径中。这样做,还确保 MyApp 项目中的类可以在不引起编译错误的情况下引用 MyLib 项目中的类。此外,这还允许您使用 MyLib 项目中的代码完成功能基于 MyLib 项目来填充代码。

  将库的实用程序类添加到项目类路径中:

  在 Projects 窗口中,右键单击 MyApp 项目的 Libraries 节点,然后选择 Add Project。

  浏览到 NetBeans_projects/,然后选择 MyLib 项目文件夹。Project JAR Files 窗格中将显示可以添加到该项目中的 JAR 文件。注意,即使我们尚未实际生成 JAR 文件,MyLib 的 JAR 文件也会列出。在我们生成并运行 MyApp 项目时,将会生成此 JAR 文件

  单击 Add Project JAR Files。

  展开 Libraries 节点。将 MyLib 项目的 JAR 文件添加到 MyApp 项目的类路径中。

  创建和编辑 Java 源代码

  现在,我们需要创建 Java 包,并添加将用于构造离合词的方法,之后我们将在 Main 类中实现该 acrostic 方法。

  创建 Java 包和类文件

  右键单击 MyLib 项目节点,然后选择 New > Java Class。键入 LibClass 作为新类的名称,在 Package 字段中键入 org.me.mylib,然后单击 Finish 按钮。 LibClass.java 将在 Source Editor 中打开。

  在 LibClass.java 中,将光标放在如下类声明之后的行中: (public class LibClass {。

  在以下方法代码中键入或粘贴: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();
  }

  如果粘贴的代码格式错误,则需要按 Alt-Shift-F 键重新格式化整个文件。

  按 Ctrl-S 键保存文件。

  编辑 Java 文件

  现在,我们向 Main.java 中添加一些代码。这样做的目的在于演示 Source Editor 的代码完成功能和代码模板(缩写)功能。

  在 Source Editor 中选择 Main.java 选项卡。如果尚未打开,则在 Projects 窗口中展开 MyApp > Source Packages > acrostic,然后双击 Main.java。

  删除 // TODO 代码应用程序逻辑,此处为 main 方法中的注释。

  在注释中输入以下内容:String result = Li

  将光标放在 Li 之后。下一步,我们将演示如何使用代码完成功能将 Li 转换为 LibClass。

  按 Ctrl-Space 键打开代码完成框。

  此时会显示用于完成词的可能方法的简洁列表。然而,所需的类 LibClass 并未在此处列出。

  再次按 Ctrl-Space 键以显示符合条件的可能方法的较长列表。

  LibClass 应在此列表中。

  选择 LibClass 并按回车键。IDE 将填充类名的其余部分,而且还会自动创建类的导入语句。

  注意:IDE 还会在显示所选类或包的 Javadoc 信息的代码完成框上方打开一个框。由于大多数包都没有 Javadoc 信息,因而,该框中会显示“找不到 Javadoc 消息”,直到到达 Java 类。

  在 main 方法中,在每个 LibClass 之后输入一个句点。代码完成框会再次打开。

  选择 acrostic(String[]args) 方法,然后按回车键。IDE 将填充 acrostic 方法,并突出显示 args 参数。

  按回车键接受 args 作为参数。

  键入一个分号。

  最终得到的行应如下所示:

String result = LibClass.acrostic(args);

  按回车键开始一个新行。然后键入 sout 并按 Tab 键。缩写 sout 将扩展为 System.out.println("");,同时光标定位在双引号之间。在引号中键入 Result = 并在引号后键入 + result。最终得到的行应如下所示:System.out.println("Result = " + result);

  按 Ctrl-S 键保存文件。

  编译和运行项目

  现在我们需要设置 main 类和执行参数,以便可以运行我们的项目。我们还将了解 IDE 的 清除、构建、以及 Javadoc 生成功能。

  设置 main 类和执行参数

  右键单击 MaApp 项目节点,选择 Properties,然后在对话框左侧窗格中选择 Run 节点。注意,main 类已经设置为 acrostic.Main。

  在 Arguments 字段中输入 " Howeverweallfeelzealous ",然后单击“确定”按钮。

  运行主项目

  从 Run 菜单中选择 Run > Run Main Project (F6)。

  双击 Output 窗口将其最大化,以便可以看到所有输出。注意,Ant 首先生成 MyLib.jar,然后使用它来编译 MyApp, 最后从程序中打印输出, Result = Hello (作为参数传递给程序的短语的离合词)。

  选择 Files 窗口,然后展开 MyApp 项目文件夹。生成的类文件就位于 build 文件夹中。

  按 F6 键再次运行该程序。无需编译任何新内容,程序就可运行。

  清除和生成项目

  如果您生成一个项目,稍后又更改一些类,则从系统中移除所有生成构件并创建应用程序的新生成比较好。可以使用 Clean 和 Build 命令来完成此操作。

  选择 Build > Clean 和 Build Main Project (Shift-F11)。MyLib 和 MyApp 项目都将被清除并作为进程的一部分来重新生成。

  在 Projects 窗口中右键单击 MyLib 项目节点,然后选择 Clean Project。只会清除 MyLib 项目。

  生成单个项目

  在 Projects 窗口中右键单击 MyLib 项目节点。

  从上下文菜单中选择 Build Project。

  生成 Javadoc

  选择 MyLib 项目。

  从 IDE 的主菜单中选择 Build > Generate Javadoc for "MyLib"。

  IDE 将在 Output 窗口中显示 Javadoc 输出,并在显示 Javadoc 时打开 Web 浏览器。

  测试和调试项目

  现在,我们将使用 JUnit 创建项目并对其运行测试,然后在 IDE 的调试器中运行它,以检查错误。在 JUnit 测试中,我们将短语传递给 acrostic 方法并使用断言来指示我们所认为的结果,以测试 LibClass。

  创建 JUnit 测试

  在 Projects 窗口中右键单击 LibClass.java 节点,然后选择 Tools > Create JUnit Tests (Ctrl-Shift-U)。

  如果是首次在 IDE 中创建 JUnit 测试,则系统会通过 Select JUnit Version 对话框来提示您。按回车键选择 JUnit 4.x,然后继续 Create Tests 对话框。

  在 Create Tests 对话框中,单击 OK 按钮通过默认选项运行命令。IDE 会在单独的 test 文件夹中创建 org.me.mylib 包和 LibClassTest.java 文件。可以通过展开 Test Packages 节点和 org.me.mylib 子节点找到此文件。

  在 LibClassTest.java 中,删除 public void acrostic() 方法的方法体。

  放置已删除的行,在以下位置键入或粘贴:System.err.println("Running testAcrostic...");
String result = LibClass.acrostic(new String[]
         {"fnord", "polly", "tropism"});
assertEquals("Correct value", "foo", result);

  按 Ctrl-S 键保存文件。

  运行 JUnit 测试

  选择 MyLib 项目节点,然后选择 Run > Test "MyLib" (Alt-F6)。Output 窗口中将打开 MyLib(test) 选项卡。编译和运行 JUnit 测试用例。JUnit 测试结果会显示测试是否通过。

  您也可以运行单个测试文件而非测试整个项目。在 Source Editor 中选择 LibClass.java 选项卡,然后从 Run 菜单中选择 Run > Run File > Test "LibClass.java"。

  JUnit API 文档可以从 IDE 中获取。选择 Help > Javadoc References > JUnit API。

  访问 http://www.junit.org,可以了解有关 JUnit 的更多信息

  调试项目

  在 LibClass.java 文件中,转到 acrostic 方法,将插入点放在 b.append(args[i].charAt(i)); 中的任何位置。然后按 Ctrl-F8 键设置断点。

  选择 Run > Debug Main Project (Ctrl-F5)。IDE 会打开 Debugger 窗口并在调试器中运行该项目,直到到达断点。

  选择 Local Variables 窗口,然后展开 args 节点。字符串数组包含您以命令参数形式输入的短语。

  在工具栏中单击 Step Into (F7),按步骤执行程序并观察所构造的离合词。

  程序到达结尾时,调试器窗口将关闭。