我说西班牙语而不是英语,我正在使用Google翻译。
我有一个.FXML表单,其中包含许多TextField和一个按钮,可以单击并使用TextField中输入的每个值执行数学运算。 我创建了一种获取文本字段值并执行数学运算的方法。
但是,如果任何文本字段更改了该值,则必须通过单击按钮来重新计算它。 我需要在任何TextField中按Enter键时,都会自动执行数学运算的方法,但是我不想在每个文本字段中使用keyPressed方法,这将是一个很长的代码,请为每个TextField调用keyPressed方法
我正在考虑创建一个侦听器或一种Binding,是我加入所有文本字段,还是在文本字段发生更改或输入的值大于零时检测到。
textField.textProperty().addListener...
该方法有效,但是我有很多TextField,而且我不得不重复多次该代码。而且我不想那样做。
txt1..textProperty().addListener...
txt2..textProperty().addListener...
txt3..textProperty().addListener...
txt4..textProperty().addListener...
txt5..textProperty().addListener...
...
...
BooleanBinding bd = Binding.(txt1.textProp..., txt2textProp..., txt3.... ???
有可能吗?
答案 0 :(得分:0)
EventHandler<KeyEvent> teclaPresionada = (event) -> {
// Colocar todo el codigo aca
};
campo1.addEventHandler(KeyEvent.KEY_PRESSED, teclaPresionada);
campo2.addEventHandler(KeyEvent.KEY_PRESSED, teclaPresionada);
campo3.addEventHandler(KeyEvent.KEY_PRESSED, teclaPresionada);
campo4.addEventHandler(KeyEvent.KEY_PRESSED, teclaPresionada);
campo5.addEventHandler(KeyEvent.KEY_PRESSED, teclaPresionada);