条件满足但 if 语句不会触发?
Condition fulfilled but if-statement won't trigger?
我有一个场景,这个功能齐全的按钮叫做 btnRemove,
Button btnRemove = new Button("Remove");
btnRemove.setMinWidth(85);
btnRemove.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
if(mediaTable.getSelectionModel().isEmpty()){
txtNotification.setText("Please select an item from the list");
}
else{
medium.remove(mediaTable.getSelectionModel().getSelectedItem());
}
}
});
现在我想这样做,以便在按下 DELETE 键时触发 btnRemove 按钮并删除 focus/the 选定元素中的项目。
代码如下:
scene.setOnKeyReleased(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
System.out.println(event.getCode());
if("DELETE".equals(event.getCode())) {
System.out.println("ATTEMPT ----");
btnRemove.fire();
}
}
});
当我 运行 它时,每当我按 DELETE 时,控制台输出 DELETE,但它不输出“ ATTEMPT ----”之后。
我看不出它不应触发的任何原因
什么给了??
您正在尝试比较 KeyCode
和 String
。将条件更改为 -
if (KeyCode.DELETE == event.getCode()) { ... }
您在第一个 println
中看到的是 KeyCode 的 toString,显然 returns 它的名称。
我有一个场景,这个功能齐全的按钮叫做 btnRemove,
Button btnRemove = new Button("Remove");
btnRemove.setMinWidth(85);
btnRemove.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
if(mediaTable.getSelectionModel().isEmpty()){
txtNotification.setText("Please select an item from the list");
}
else{
medium.remove(mediaTable.getSelectionModel().getSelectedItem());
}
}
});
现在我想这样做,以便在按下 DELETE 键时触发 btnRemove 按钮并删除 focus/the 选定元素中的项目。
代码如下:
scene.setOnKeyReleased(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
System.out.println(event.getCode());
if("DELETE".equals(event.getCode())) {
System.out.println("ATTEMPT ----");
btnRemove.fire();
}
}
});
当我 运行 它时,每当我按 DELETE 时,控制台输出 DELETE,但它不输出“ ATTEMPT ----”之后。
我看不出它不应触发的任何原因
什么给了??
您正在尝试比较 KeyCode
和 String
。将条件更改为 -
if (KeyCode.DELETE == event.getCode()) { ... }
您在第一个 println
中看到的是 KeyCode 的 toString,显然 returns 它的名称。