1. 程式人生 > >JavaFX文字框、按鈕、列表框事件監聽處理

JavaFX文字框、按鈕、列表框事件監聽處理

//文字框 TextField textField = new TextField(); //監聽文字框輸入值變化 textField.textProperty().addListener(this::textChange); private void textChange(ObservableValue<? extends String> observable, String oldValue, String newValue){                     } //監聽文字框焦點變化 textField.focusedProperty().addListener(this::focusedChange); private void focusedChange(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue){         }     //按鍵點選 textField.setOnKeyPressed(new EventHandler<KeyEvent>() {     @Override     public void handle(KeyEvent event) {         if(event.getCode().equals(KeyCode.ENTER)){                             }                                         if(event.getCode().equals(KeyCode.UP) && (selectedIndex - 1) < stationNum){                                 //event.consume();可阻止原生事件進行,即文字框游標移動             }         if(event.getCode().equals(KeyCode.DOWN) && (selectedIndex + 1) > -1){                             }             } });

//按鈕 Button btn = new Button("確定"); //點選 btn.setOnAction(new EventHandler<ActionEvent>() {                 @Override     public void handle(ActionEvent event) {         } });    

//列表框 ListView<String> listView = new ListView<String>();         listView.addEventHandler(MouseEvent.MOUSE_CLICKED, e ->{     //雙擊     if (e.getClickCount() == 2) {                     }     //單擊     if (e.getClickCount() == 1) {                                     } }); //按鍵 listView.addEventHandler(KeyEvent.KEY_PRESSED, e ->{     //回車     if (e.getCode() == KeyCode.ENTER) {                     }         //上鍵         if(e.getCode().equals(KeyCode.UP)){                                             }     //下鍵     if(e.getCode().equals(KeyCode.DOWN)){                     } });