JavaFX文本框、按钮、列表框事件监听处理

//文本框
TextField textField = new TextField();
//监听文本框输入值变化
textField.textProperty().addListener(this::textChange);
private void textChange(ObservableValue observable, String oldValue, String newValue){                    
}
//监听文本框焦点变化
textField.focusedProperty().addListener(this::focusedChange);
private void focusedChange(ObservableValue observable, Boolean oldValue, Boolean newValue){        
}    
//按键点击
textField.setOnKeyPressed(new EventHandler() {
    @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() {            
    @Override
    public void handle(ActionEvent event) {    
    }
});    

//列表框
ListView listView = new ListView();        
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)){                
    }
});
        

你可能感兴趣的:(Java,#,JavaFX)