无法访问javafx.scene.control.MenuItem中的断点(JavaFX,Netbeans 8)

时间:2014-09-16 15:26:56

标签: java debugging netbeans javafx menuitem

我正在尝试将MenuBar添加到我的JavaFX项目中。一切顺利,直到 我在菜单中添加了第二个MenuItem。

...
    final Menu options = new Menu("Options");  // create the Menu

    final MenuItem settings1 = new MenuItem("Settings");  // create the first MenuItem
    settings1.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {
            Stage sSettings = new Stage();
            GridPane vGp = new GridPane();

            Button ok = new Button("Ok");
            ok.setOnAction(new EventHandler<ActionEvent>() {

                @Override
                public void handle(ActionEvent event) {
                    ...
                    // CODE I NEED TO DEBUG
                    ...
                    sSettings.close();
                }

            });

            sSettings.setTitle("Settings");
            sSettings.setScene(new Scene(vGp, 800, 300));
            sSettings.show();
        }
    });
    options.getItems().add(settings1);

    final MenuItem settings2 = new MenuItem("Settings");  // create the second MenuItem
...

现在,如果我以创建MenuItem settings1的方式添加第二个MenuItem, 一切都会好起来的。整个代码将按我的意愿执行。

我的问题是本规范的调试。当单击第二个MenuItem创建的已打开舞台的OK按钮时,无法调试将要执行的代码。 代码将被执行,但调试器不会在定义中停止。

我唯一的选择是评论我想要处理的MenuItem之前定义的每个MenuItem。而且我觉得它会很快烦恼。

其他人有同样的问题吗?也许它的IDE特定:

我在Linux上使用Netbeans 8.0.1和jdk1.8.0_11。 代码示例:https://gist.github.com/mul8or/8b94e440eda49b2d8fed

1 个答案:

答案 0 :(得分:0)

我设法在与Windows中的Netbeans相同的环境中完美地调试OK-Button内的代码。 我将断点设置为

sSettings.close();

并且调试器在断点处完全停止。可能是由于代码的其他部分中指定了某些条件,或者您附加了错误的按钮?

我还成功地在IntelliJ IDEA 13.1中完美地调试了这段代码。