Search code examples
javaeventsjavafx-8keypress

Keypress event in javafx


[i am trying to addition of two numbers when 2nd number assigns keypress evet, number is entering automatically result display in total text field ,but i cant got my required output

@FXML
private TextField Number1;

@FXML
private TextField Number2;

@FXML
private TextField total;

@FXML
void Total(KeyEvent event) {
    total.setText(String.valueOf(Integer.parseInt(Number1.getText())+Integer.parseInt(Number2.getText())));

}

Total is the keypress method.

]1 [enter image description here]1


Solution

  • Listen for text changes in Number2 using textProperty() rather than keyPress event

        Number2.textProperty().addListener((ov,oldValue,newVal)->{
    
            total.setText(String.valueOf(Integer.parseInt(Number1.getText())+Integer.parseInt(newVal)));
    
        }); 
    

    Also make sure that you used TextFormatter for Number1 and Number2 for allowing valid inputs only