开�?�通用 Java 应用程�?简介
本简明教程将演示如何在 NetBeans IDE 6.0 中开�?� Java SE 应用程�?。本教程�?�定您对 Java 应用程�?的开�?�已比较熟悉。在讲解过程中,我们将演示如何通过一些 IDE 特性简化应用程�?开�?�。
我们将开�?�一个�?��?转�?�应用程�?,用于将多个英文�?��?转�?�为一个英文�?��?。生�?�?��?的构�?形�?为第一个�?的第一个字�?�?第二个�?的第二个字�?�?第三个�?的第三个字�?,�?此类推。该生�?�?称为离�?��?。
目录
建立项目
我们创建的应用程�?将包�?�两个项目:
- 具有实用程�?类的 java 库项目。
- 具有 main 类的 Java 应用程�?项目,该类将通过库项目实现方法。
注�?:严格�?�讲,对于如此简�?�的应用程�?,�?需�?建立两个项目。我们使用两个项目�?�是为了演示较�?�?�的应用程�?所需的功能。
首先,创建一个新的 Java 类库�?�包�?��?�?�需�?使用的实用程�?类。然�?�,需�?创建一个新的 Java 应用程�?,并将其作为主项目使用。创建 MyApp
项目�?�,将 MyLib 的类添加到其类路径中。
- 选择 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 窗�?�中打开。
- 选择 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 字段中输入 "However we all feel zealous ",然�?��?�击“确定�?按钮。
�?行主项目
- 从 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),按步骤执行程�?并观察所构造的离�?��?。
程�?到达结尾时,调试器窗�?�将关闭。
继续学习
有关使用 NetBeans IDE 开�?� Java SE 应用程�?的更多信�?�,请�?��?以下资�?: