我正在尝试将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
答案 0 :(得分:0)
我设法在与Windows中的Netbeans相同的环境中完美地调试OK-Button内的代码。 我将断点设置为
sSettings.close();
并且调试器在断点处完全停止。可能是由于代码的其他部分中指定了某些条件,或者您附加了错误的按钮?
我还成功地在IntelliJ IDEA 13.1中完美地调试了这段代码。