我的文本字段的 .getText 函数不同步
the .getText function of my textfield isn't in sync
我正在编写一个 fxml 项目,并且有一个带有此处理程序的文本字段:
@FXML
private void action (KeyEvent event) throws ParseException, IOException {
System.out.println(textField.getText());
}
但问题是,例如,如果我在文本字段中写入 "problem",我得到的输出是 "proble",就像 actionhandler 总是落后一步!我该如何解决这个问题?
很可能您的 textField
在释放按键后正在更新,但在按下按键时会发生此事件。如果我是你,我会尝试:
- 测试
EventType
并仅在发布后打印,所以类似:
if (event.getEventType() == KeyEvent.KEY_RELEASED) ...
(参见 doc)
, 或
- 只需从
event.getText()
获取最后按下的键并附加到 textField.getText()
的字符串(虽然有点 hacky)
在我看来,这两个都不理想,但这是我要开始的地方。祝你好运!
我正在编写一个 fxml 项目,并且有一个带有此处理程序的文本字段:
@FXML
private void action (KeyEvent event) throws ParseException, IOException {
System.out.println(textField.getText());
}
但问题是,例如,如果我在文本字段中写入 "problem",我得到的输出是 "proble",就像 actionhandler 总是落后一步!我该如何解决这个问题?
很可能您的 textField
在释放按键后正在更新,但在按下按键时会发生此事件。如果我是你,我会尝试:
- 测试
EventType
并仅在发布后打印,所以类似:if (event.getEventType() == KeyEvent.KEY_RELEASED) ...
(参见 doc) , 或 - 只需从
event.getText()
获取最后按下的键并附加到textField.getText()
的字符串(虽然有点 hacky)
在我看来,这两个都不理想,但这是我要开始的地方。祝你好运!