2016-06-20 3 views
0

У меня есть сцена, и это полностью функциональную кнопку под названием 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 запускается и удаляет элемент в фокусе/выбранном элементе.

Вот код:

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, но это не выход "ПОПЫТКА ----" после того, ,

Я не вижу никаких причин, почему это не должно вызвать

Что дает ??

ответ

2

Вы пытаетесь сравнить KeyCode с номером String. Измените условие -

if (KeyCode.DELETE == event.getCode()) { ... } 

То, что вы видите в первом println является ToString в KEYCODE, которая, по-видимому возвращает его имя.

Смежные вопросы