该教程介绍了 Oracle JDeveloper 11g 中的主要组件,并向您说明了如何使用它们构建基本的应用程序。
大约 20 分钟。
本教程包括下列主题:
| 概述 | |
| 前提条件 | |
| 总结 |
将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。
在本教程中,您将学习如何创建一个简单的 Java 类。然后,您将通过新类利用 JDeveloper IDE 的某些特性,包括 Code Assist 和 Debugger。
开始本教程之前,您应该:
|
可以访问或已安装了 Oracle JDeveloper 11g。可以从 Oracle 技术网下载它。解压缩到您选择的目录中,在该教程中是 JDEV_HOME。 |
| 1. | 启动 JDeveloper。双击 JDeveloper 可执行文件 (jdeveloper.exe),该文件可以在 JDEV_HOME 目录中找到。
如果打开了一个对话框,询问您是否要从 JDeveloper 的早期版本移植,单击 NO。 如果打开了一个对话框,询问您是否要选择一个角色,选择 Default Role 选项,然后单击 OK。
关闭 Tip of the Day 窗口。 |
| 2. | 一旦加载完成,JDeveloper IDE 将显示在屏幕上。第一次打开 JDeveloper 时将显示 Start Page。之后,可以通过选择 Help | Start Page 来重新调用启动页面。 请注意为帮助您了解 JDeveloper 而提供的各种选。探究这些选项之后,单击选项卡上的 X(将鼠标放到选项卡上会显示 X)关闭 Start Page。
|
应用程序是控制结构中的最高级别。在您工作时,您会在其中看到当前所需的所有对象。在开发 Java 程序时,应用程序将追踪项目。
应用程序存储在扩展名为 .jws 的文件中。当您打开 JDeveloper 时,默认打开上次使用的应用程序,因此您可以从您中断的地方重新开始。
当在 JDeveloper 中创建新的应用程序时,您可以选择按照模板创建应用程序。您选择的应用程序模板将决定初始的项目结构,即应用程序内部的命名项目文件夹。您可以改变现有的模板或创建新的模板。
在 JDeveloper 中,一个应用程序通常包含多个项目。JDeveloper 项目是从逻辑上分组的相关文件。项目将跟踪程序可能需要的源文件、程序包、类、图像和其他元素。您可以将多个项目添加到应用程序中,从而轻松地访问、修改和重用源代码。
项目将管理环境变量,例如,用于编译和运行程序的源路径和输出路径。项目还保留了编译器、运行时和调试选项,以便您能够针对每个项目自定义这些工具的行为。
Application Navigator 是 JDeveloper 主窗口,通过它可以访问应用程序的组件。Application Navigator 是分层结构,支持给定的应用程序、项目、图像、.html 文件等。默认情况下,JDeveloper 将在 IDE 的左侧显示 Application Navigator。
要创建应用程序,执行以下步骤:
| 1. |
在 Application Navigator 中,单击 New Application。
|
| 2. | 在 Create Application 对话框中,将默认的应用程序名 Application1 修改为 MyFirstApp。
注意,系统会对目录名称进行相应地修改。 |
| 3. | 单击 Application Template 域中的向下箭头,查看提供的模板列表。单击 No Template[All Technologies] 列表项,通过一个可以访问所有 JDeveloper 技术的项目配置该应用程序。
单击 OK。 |
| 4. | 在 Create Project 对话框中,将默认的项目名 Project1 修改为 MyProject,然后单击 OK。
|
| 5. | 在 Application Navigator 中,项目作为层次结构的第二层显示在应用程序的下面。Application Navigator 应如下所示: 注意,项目文件夹是应用程序文件夹的子文件夹。 |
要创建新的 Java 类,执行以下步骤:
| 1. |
右键单击 Application Navigator 中的 MyProject 节点,然后从上下文菜单中选择 New... 选项。
|
| 2. |
显示 New Gallery。默认情况下,高亮显示 Categories 列表中的第一个类别 General。通过其他类别您可以使用不同技术构建应用程序的各个层。 单击 General 类别左侧的 + 号将其展开,注意提供的一些子类别。 选择 Simple Files 节点,然后选择窗口右侧区域的 Items 列表中的 Java Class。单击 OK。
|
| 3. |
在 Create Java Class 对话框中,将默认名称 Class1 更改为 Dog。 由于您在创建应用程序时没有指定程序包名称,因此程序包名称默认为小写的项目名称。如果需要,您可以进行更改,但在该教程中不需要这么做。 接受所有其他的默认值,并单击 OK。
|
| 4. |
新的类将在源代码编辑器中自动打开,您在其中将看到框架类 (skeleton class) 的定义。 向类中添加一个方法。在构造函数之后,按 [Enter] 创建一个新行,并输入以下代码:
注意,您刚刚输入的行下面有一行波浪线,指明存在语法问题。源代码编辑器的右边缘还有红框。如果您将鼠标放到这些框或红色波浪线上,工具提示会显示相关的错误信息。 您将在本教程稍后的使用 Code Assist 中看到与此类似的其他示例。
|
| 5. |
在行的结尾,按 [Ctrl]+[Shift]+[Enter]。JDeveloper 会自动编译方法结构,错误指示器消失。右上边缘显示绿框,表明没有语法错误。
|
| 6. |
在添加到方法的两个花括号之间的空白行中,添加以下代码以返回一个字符串:
注意,当您键入第一个双引号 (") 时,JDeveloper 将自动提供第二个双引号并将光标括起,以便您可以轻松地键入文字。 |
编辑器是进行大部分应用程序开发工作的地方;是您编写代码和设计用户界面的地方。在本主题中,您将深入了解 Java 源代码编辑器的一些特性。
| 使用代码模板 | ||
| 编译并运行 Java 类 | ||
| 使用 Code Assist | ||
| 重构代码 | ||
| 查看代码修改历史 | ||
| 在代码中导航 | ||
当您使用源代码编辑器时,代码模板将帮助您更快速和有效地编写代码。您可以编辑现有模板或创建自己的模板。本主题将向您演示如何在 Dog 类中使用一些现有的代码模板。
| 1. |
此处存在一个将 main 方法添加到 Java 类中的代码模板。
此时系统会建议使用 main 方法模板。
|
| 2. |
再次按 Enter 键,接受建议,并合并模板。
|
| 3. |
在 main 方法中创建一个 Dog 对象,方法是,添加以下代码:
注:myDog 变量将以灰色显示,因为它还没有在类中的任何地方使用。如果将鼠标放到 myDog 变量上,会显示工具提示,告诉您该变量未被使用。您将在本教程稍后的使用 Code Assist 中看到与此类似的其他示例。 |
| 4. |
按 [Ctrl]+[Enter],查看可用的代码模板列表。
|
| 5. |
您决定使用 fori 代码模板来创建一个基于整数的循环。
这时系统将建议三个模板。 |
| 6. |
双击三个建议中的第二个 fori(基于整数的循环)选择它。
模板代码将被合并至文件中。 |
| 7. |
修改模板代码。
注意,更改循环中的第 i 个变量名将更改所有后续引用。 |
| 8. |
输入 System.out.println 语句。
键入字母 o 并按 [Enter] 选择建议的代码。
键入 .(句点),在显示建议代码的列表时,键入字母 p 并双击建议的代码 println()。
注: 一种更快地输入 System.out.println() 语句的方法是输入 sop,然后按 [Ctrl]+[Enter]。上面的技巧用于说明如何使用代码自动填充。 |
| 9. | 添加代码使用该循环来显示 sayHi 消息。在 println 之后的圆括号内部输入以下代码:
整个行应该如下所示:
|
| 10. | 在编辑器视图中右键单击,然后选择 Reformat,让 JDeveloper 重新构造您的代码。
|
| 11. | 您的代码现在应如下所示:
|
成功编译 .java 文件后,您在项目的 \src 目录中创建了一个 .class 文件。在 JDeveloper 中编译类也会自动保存 .java 文件。运行一个类后,它将自动编译和保存。
| 1. | 在 Application Navigator 或源代码编辑器中,右键单击 Dog.java,并从上下文菜单中选择 Make。
|
| 2. |
在 JDeveloper IDE 的右下角,日志窗口应该显示成功的编译。如果未显示日志窗口,则可使用 View | Log 来显示该窗口(或者按 [Ctrl]+[Shift]+[L])。
请注意,当使用 Make 选项来编译类时,JDeveloper 将保存项目中的所有文件。 |
| 3. | 在 Application Navigator 或源代码编辑器中,再次右键单击 Dog.java,这次从上下文菜单中选择 Run。
. |
| 4. | 日志窗口将显示 3 次“woof Kate”消息。
|
Code Assist 将检查编辑器中的代码,并提供帮助来修复常见问题。此处您将使用 Dog 类来深入了解所提供建议的一些示例。
| 1. | 创建一个 cat 对象。 在 main 方法的开头(就在第一个花括号后面),按 [Enter] 键创建一个新行。在新行中,输入以下代码:
|
| 2. | 请注意,一个灯泡图标将出现在新行的左侧。将鼠标放在该图标上将显示“Quick fixes and code assists for this line”消息。
|
| 3. | 单击灯泡图标,查看建议的修复方法。
请注意,建议旁边的灯泡具有不同的颜色,其中的符号也各不相同。包含问号 (?) 的琥珀色灯泡表示一条改进您的代码的建议;包含叹号 (!) 的红色灯泡建议一种更正错误的方法。
|
| 4. |
您需要一个 Cat 类来实例化 Cat 对象。如果单击第一个建议,JDeveloper 将调用 Create Class 对话框来创建 Cat 类。
您现在不创建 Cat 类,因此请单击 Cancel 关闭 Create Class 对话框。
|
| 5. |
但通过执行以下操作来提醒您稍后创建 Cat 类:
|
| 6. | 选择 View | Tasks,查看您已经创建的任务列表。
|
| 7. |
任务窗口显示您已经创建的任务列表(在这种情况下,这是您唯一的任务)。
|
| 8. |
如果双击列表中的一个任务,JDeveloper 将把您带到相关的任务,并在行首插入光标。
|
| 9. | 注意编辑器右上边缘的红框。将鼠标移动到该图标将通知您程序中存在错误。
|
| 10. | 一个更小的红框(在代码中相应的点上)将提供关于错误的更多信息。
|
| 11. | 粉红色的标记表示您在这里创建了一个任务。将鼠标移到标记上将看到该任务是什么。
|
| 12. | 在创建 Cat 对象的行前面加上注释符号。注意,红色标记现在已经消失,并替换为一个绿色标记,表示 代码中没有错误。
|
| 13. | 在编辑器窗口中单击右键并选择 Reformat 选项。
|
重构是修改代码结构而不改变程序行为的一种编辑技巧。重构操作
是一系列简单的编辑,这些编辑将转换程序代码,但使其保持能够正确编译和运行的状态。
JDeveloper 提供了许多重构操作。
| 1. |
重构操作的一个示例是使用方法的一个参数替换方法主体中的一个常量表达式。表达式将替换为参数名。新参数将添加到该方法的参数列表以及该方法的所有调用中。 要在 Dog 类中执行这一操作,右键单击 sayHi() 方法代码中的文字“Kate”,并从上下文菜单中选择 Refactor | Introduce Parameter...
|
| 2. | 在 Introduce Parameter 对话框中,在 Name 域中输入 p_name,并单击 OK。
|
| 3. |
检查代码,查看重构操作的结果。方法声明现在在其参数列表中包含 String p_name,p_name 参数在方法返回值中替换了文字“Kate”而文字“Kate”在方法调用中作为一个参数插入进来。
|
| 4. |
另一种重构操作是从一个现有类的选定方法中导出一个新的接口。 要在 Dog 类中执行这一操作,右键单击 Dog 类声明方法,并从上下文菜单中选择 Refactor | Extract Interface...
|
| 5. | 在 Extract Interface 对话框中,输入 IntAnimal 作为接口的名称,并选择 Members to Extract 列表中的 sayHi(String) 方法。单击 OK。
|
| 6. | IntAnimal 接口已创建并在源代码编辑器中打开。
|
| 7. |
另一种简单的重构操作是重命名一个方法,通过此操作,出现的每一个方法名都将被新的名称所替换。 要在 IntAnimal 接口中执行这一操作,单击右键 sayHi() 方法,并从上下文菜单中选择 Refactor | Rename。
|
| 8. | 在 Rename Method 对话框中,将 sayHi 方法名修改为 sayHowDoYouDo。选择 Preview 复选框,查看修改名称会影响到的所有地方。单击 OK。
|
| 9. |
日志窗口列出所有使用 sayHi() 方法的地方。您应查看每个地方以确认您是否需要将出现的每个 sayHi() 更改为 sayHowDoYouDo()。如果是的话,则单击日志窗口工具栏中的 Do Refactoring。
|
| 10. | 注意,IntAnimal 接口中已修改了名称……
|
| 11. | ……同时 Dog 类中也修改了名称。
|
JDeveloper 有一个内置的历史特性。该本地历史无需版本控制系统来提供最近的更改记录和版本间的视觉“差异”。版本将自动基于用户交互(例如,保存、编译、重命名等)生成。
| 1. | 注意编辑器窗口底部的三个选项卡。单击 History 选项卡。
|
| 2. | History 窗口将出现。窗口顶部是修订和日期的列表,代码更改的列表显示在窗口的底部。这两个窗口是同步的,以使窗口底部的详细信息与顶部的选择匹配。 选中日期和时间的修订汇总在 IDE 底部的状态行中,在这种情况下有 3 个差异:增加 0 个、删除 0 个、修改 3 个 (0 added, 0 removed, 3 changed)。
|
| 3. | 淡紫色的框表示对代码所作的修改。 在窗口的顶部,选择列表顶部的 Introduce Parameter。 在编辑器的左下角,将鼠标放到包含 sayHi() 方法声明的淡紫色框中的绿色向右箭头上。注意,将显示一个消息,表示单击绿色箭头可以替换相邻差异。在这种情况下,单击绿色箭头将 sayHowDoYouDo() 方法恢复为 sayHi()。
|
| 4. | 绿色方框指示对代码所作的增加。 在窗口的顶部,选择列表底部的 Expand Statement。 在窗口的底部,选择右侧窗口的绿色方框中的 return "woof " + p_name; 行。将鼠标放在红色的 X 上。注意指示要删除所作增加的消息,单击 X。
|
JDeveloper 提供了导航到相关代码和 Javadoc 的简单方法,还可以展开或折叠代码段以提高导航性。要探究这些特性,执行以下步骤:
| 1. | 单击编辑器中 Dog.java 文件的 Source 选项卡。 您可以从代码的一部分导航至另一个相关的部分。该操作的一个示例是从方法导航至其在接口中的声明。 从接口中实现声明的方法将在左侧空白处显示一个调出图标。单击该图标将把您带到声明该方法的地方。 单击 Dog.java 文件中紧挨着 sayHowDoYouDo() 方法的 i 图标。
|
| 2. | JDeveloper 将把您带至 IntAnimal 接口(声明方法的地方)并为您高亮显示该方法名。
|
| 3. | 要返回您在 Dog 类中所处的位置,请单击工具栏上的绿色 Back 按钮。
|
| 4. | 您还可以导航至给定元素的 Javadoc。在编辑器的 Dog.java 文件中,右键单击 sayHowDoYouDo() 方法的参数列表。从上下文菜单中选择 Quick Javadoc。
|
| 5. | String 对象的 Javadoc 标记将显示。
|
| 6. | 代码折叠使您能够展开和收缩代码段,使得大的程序更加易于导航。 将鼠标放在 cat 行左侧虚线和实线之间的空白处。
注意一条蓝色的竖线将在 main 方法体的旁边显示。
|
| 7. | 单击蓝色竖线顶部的减号 (-),收缩代码段。
|
| 8. | 将鼠标放在与收缩的代码段相邻的 (+) 号上。收缩的代码行将在一个蓝色阴影的框中显示。
|
| 1. | 在 Dog.java 文件中设置一个断点。为此,单击以下行左侧的 margin:
断点图标(看起来象一个红色的球)显示在边缘中。 |
| 2. | 右键单击源代码编辑器,并从上下文菜单中选择 Debug。
|
| 3. | 程序一直运行到断点。源代码编辑器左边缘的红色箭头指示断点所在的 地方。调试器窗口打开并显示调试跟踪信息。
|
| 4. | 单击调试器日志窗口工具栏中的 Step Over 图标,执行 myDog.sayHowDoYouDo() 方法的第一次迭代。
|
| 5. | 注意日志窗口显示了第一条 woof Kate 消息。
|
| 6 | 注意屏幕右下方的 Smart Data 窗口。选择 count 变量,双击 Value 列,显示 Modify Value 对话框。
|
| 7. | 输入 2 作为新的值。单击 OK。
|
| 8. | 在调试器日志窗口工具栏中,单击 Resume 继续运行程序。
|
| 9. | count 变量将增加,并超越其界限,因此程序将终止,调试器断开。
|
本教程演示了 JDeveloper IDE 的基本编程过程。您创建了应用程序、项目和 Java 类。然后使用了该类研究该 Java IDE 的众多特性,包括合并代码模板、使用 Code Assist、重构以及审查代码修改记录。最后,您了解了如何使用集成的调试器来调试程序。
您已学会了如何:
| 在 JDeveloper 中创建新的应用程序和项目 | ||
| 创建新的 Java 类 | ||
| 利用 Java IDE 的一些功能和辅助特性。 | ||
| 使用 Java 代码调试器 | ||