我的文本字段的.getText函数不同步

我正在编写一个fxml项目,并且此处理程序有一个文本字段:

@FXML
    private void action (KeyEvent event) throws ParseException,IOException {
        System.out.println(textField.getText());
    }

但是问题是,例如,如果我在文本字段中写入“问题”,则我得到的输出是“问题”,就好像动作处理程序总是落后一步!我该如何解决这个问题?

dwrdwr245 回答:我的文本字段的.getText函数不同步

释放键后,您的textField可能正在更新,但是按下键时会发生此事件。如果我是你,我会尝试:

  • 测试EventType并仅在发布后打印,所以类似: if (event.getEventType() == KeyEvent.KEY_RELEASED) ...(请参阅doc) 或
  • 只取event.getText()末尾按下的键,然后附加到textField.getText()的字符串后(虽然有点hacky)

都不是理想的imo,但这是我要开始的地方。祝你好运!

本文链接:https://www.f2er.com/2790677.html

大家都在问