使用 NetBeans IDE 中的可视调试器

本文档介绍了如何使用可视调试器来帮助您在 GUI 应用程序中找到并调试可视元素的代码。您可以在 Java 和 JavaFX GUI 应用程序中使用可视调试器。

在本文档中,您将使用可视调试器浏览 Anagram Game 样例项目。本文档将说明如何先生成应用程序的 GUI 快照,然后使用该快照找到源代码,将监听程序添加到事件中并查看 GUI 组件的事件日志。

目录

此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0

要学习本教程,您需要具备以下软件和资源。

软件或资源 要求的版本
NetBeans IDE 7.2, 7.3, 7.4, 8.0
Java 开发工具包 (JDK) 版本 7 或 8

JUnit 说明。如果在安装 IDE 时未安装 JUnit 库,则当您尝试调试应用程序时,系统将提示您解决缺少资源问题并安装 JUnit。

生成 GUI 快照

在本教程中,您将使用 Anagram Game 样例应用程序,这是一种在新建项目向导中以样例形式提供的 Java 桌面应用程序,带有简单的 GUI。创建了项目后,可以启动调试会话,并生成应用程序的 GUI 快照。

  1. 从主菜单中选择“文件”>“新建项目”(Ctrl-Shift-N 组合键;在 Mac 上为 ⌘-Shift-N 组合键)以打开新建项目向导。
  2. 在“样例”> "Java" 类别中选择 "Anagram Game"。单击 "Next"(下一步)。
  3. 指定项目的位置。单击 "Finish"(完成)。

    单击 "Finish"(完成),此时 IDE 将创建项目并在 "Projects"(项目)窗口中打开该项目。

  4. 单击工具栏中的“调试”按钮(Ctrl-F5 组合键;在 Mac 上为 ⌘-F5 组合键)以启动调试会话。

    或者,在“项目”窗口中右键单击项目节点,然后选择“调试”。

    启动该会话时,IDE 将启动 Anagram Game 应用程序,并打开“调试”窗口。

    有关运行调试器的更多信息,请参见使用 NetBeans IDE 开发应用程序中的关于运行和调试 Java 应用程序项目

  5. 从主菜单中选择“调试”>“生成 GUI 快照”。

    选择“生成 GUI 快照”时,IDE 将生成 GUI 的快照,并在主窗口中打开该快照。

GUI 快照的屏幕快照

在本可视调试器指南中,您不会用到“调试”窗口。

使用可视调试器

GUI 快照是一种可帮助您找到 GUI 组件的源代码的可视调试工具。GUI 组件的源代码有时可能很难找到,不过快照可以让您根据 GUI 找到代码,而不用搜索代码。您可以在快照中选择组件并从弹出式菜单中调用任务,以便查看组件的源代码、显示监听程序,并在组件上设置断点。

找到组件的源代码

本练习将说明如何使用 GUI 快照导航至源代码中声明并定义组件的行。在 GUI 快照中选择组件时,可以使用弹出式菜单调用各种命令。

命令还可以通过“导航器”窗口调用,方法是右键单击组件,然后在弹出式菜单中选择命令。

  1. 在 GUI 快照中,选择 "Guess" 按钮。

    在快照中选择组件时,IDE 会在 "Properties"(属性)窗口中显示有关选定组件的详细信息。如果 "Properties"(属性)窗口不可见,您可以从主菜单中选择 "Window"(窗口)> "Properties"(属性)以打开该窗口。

    GUI 快照的屏幕快照

    IDE 还会在 "Navigator"(导航器)窗口的窗体分层结构中显示组件的位置。

    GUI 快照的屏幕快照
  2. 在快照中右键单击 "Guess" 按钮,然后从弹出式菜单中选择“转至组件声明”。

    选择 "Go to Component Declaration"(转至组件声明)时,IDE 将在编辑器中打开源文件,然后将光标移至代码中声明 guessButton 的行。

    编辑器中源代码的屏幕快照
  3. 在快照中再次右键单击 "Guess" 按钮,然后选择 "Go to Component Source"(转至组件源文件)。

    选择 "Go to Component Source"(转至组件源文件)时,IDE 将在编辑器中打开源文件,然后将光标移至 JButton 组件源代码中的相应行。

    编辑器中源代码的屏幕快照

可以使用 GUI 快照中的 "Go to Hierarchy Addition"(转至分层结构其他源文件)命令查找源代码中将组件添加到其容器的行。默认情况下禁用 "Go to Hierarchy Addition"(转至分层结构其他源文件)命令。您可以在 "Options"(选项)窗口中启用此命令。

  1. 打开 "Options"(选项)窗口。
  2. 单击 "Options"(选项)窗口中的 "Java" 类别下的 "Java Debugger"(Java 调试器)标签。

    注:在 NetBeans IDE 7.1 中,"Java Debugger"(Java 调试器)标签位于 "Options"(选项)窗口中的 "Miscellaneous"(其他)类别下。

  3. 在类别列表中选择“可视调试”,然后选择跟踪组件分层结构更改的位置。单击 "OK"(确定)。
  4. 停止调试会话(如果正在运行)。

    注:在 "Options"(选项)窗口中启用此命令后,需要重新启动调试会话并生成新的 GUI 快照,然后才能使用 "Go to Hierarchy Addition"(转至分层结构其他源文件)命令。

  5. 启动新的调试会话并生成 GUI 快照。
  6. 在 GUI 快照中右键单击组件,然后选择“转至分层结构其他源文件”。

    IDE 将在编辑器中添加组件的行上打开源代码。

    编辑器中源代码的屏幕快照

浏览组件事件

本练习将演示如何使用 GUI 快照和 "Events"(事件)窗口浏览组件事件,便于您找到组件监听程序以及由组件触发的事件。

  1. 在快照中右键单击 "Guess" 按钮,然后从弹出式菜单中选择 "Show Listeners"(显示监听程序)。

    选择 "Show Listeners"(显示监听程序)时,IDE 将会打开 "Events"(事件)窗口。您可以看到 "Custom Listeners"(定制监听程序)节点已展开。

    编辑器中源代码的屏幕快照
  2. 右键单击 "Custom Listeners"(定制监听程序)节点下方的 com.toy.anagrams.ui.Anagrams$3,然后在弹出式菜单中选择“转至组件源文件”。

    源代码在编辑器中定义监听程序的行上打开。

  3. 在快照中选择空文本字段。

    此外,也可以在“导航器”窗口中选择 guessedWord 文本字段。

    选择文本字段时,“事件”窗口中的项将会自动更改,以显示选定组件的监听程序。

  4. 在“事件”窗口中,双击 "Event Log"(事件日志)节点打开 "Select Listener"(选择监听程序)窗口。

    此外,也可以右键单击 "Event Log"(事件日志)节点,然后从弹出式菜单中选择 "Set Logging Events"(设置日志记录事件)。

  5. 从对话框中选择 java.awt.event.KeyListener 监听程序。单击 "OK"(确定)。
    编辑器中源代码的屏幕快照

    此监听程序现在正在监听文本字段中的键盘事件。

  6. 在 Anagram Game 应用程序的文本字段中,键入一些字符。

    在文本字段中键入字符时,将在事件日志中记录事件。如果展开 "Event Log"(事件日志)节点,您可以看到现在记录了每个击键。每次在 Anagram Game 应用程序文本字段中键入时,都会显示新事件。如果展开单个事件,例如 keyPressed,日志中会显示该事件的属性。

    编辑器中源代码的屏幕快照

    如果针对事件展开“调用自...”节点,您可以看到该事件的堆栈跟踪。

本教程简单介绍了 IDE 中的可视调试器。通过可视调试器,可以轻松找到 GUI 组件的源代码和日志事件。这在调试 GUI 应用程序时极其有用。



另请参见

有关在 NetBeans IDE 中开发和测试 Java 应用程序的更多信息,请参见以下资源:

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo