我正在尝试将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创建的打开阶段的"确定"按钮时,无法调试将执行的代码。代码将被执行,但调试器不会在定义内停止。
我唯一的选择是评论在我想要处理的MenuItem之前定义的每一个MenuItem。我认为这会很快变得令人讨厌。
其他人也有同样的问题吗?也许它的IDE特定:
我在Linux上使用Netbeans 8.0.1和jdk1.8.0_11。代码示例:https://gist.github.com/mul8or/8b94e440eda49b2d8fed
我成功地在与Windows相同的Netbeans环境中调试了OK Button内的代码。我在上设置了断点
sSettings.close();
调试器在断点处完全停止。这可能是由于代码其他部分指定的某些条件,或者您附加了错误的按钮?
我还设法在IntelliJ IDEA 13.1中完美地调试了这段代码。