首页 > 解决方案 > 我的文本字段的 .getText 函数不同步

问题描述

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

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

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

标签: javajavafxtextfieldfxml

解决方案


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

  • 仅在发布后测试EventType和打印,例如:( if (event.getEventType() == KeyEvent.KEY_RELEASED) ...请参阅文档),或
  • 只需将最后按下的键 fromevent.getText()并附加到字符串 from textField.getText()(虽然有点骇人听闻)

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


推荐阅读