当前位置: 首页 > 知识库问答 >
问题:

JavaFX文本字段的值更改侦听器

云欣嘉
2023-03-14

我想在我的JavaFX的TextField中添加一种listener,当用户更改TextField的值时,应用程序会在控制台上打印一些内容。

我搜索了一下,发现了以下非常类似的问题:将Listener值更改为JTextField

上述问题的答案非常清晰有效,但不幸的是,它只对JTextField(而不是JavaFX的TextField)有用,因为它说您应该像这样使用DocumentListener:

// Listen for changes in the text
textField.getDocument().addDocumentListener(new DocumentListener() {
  public void changedUpdate(DocumentEvent e) {
    warn();
  }
  public void removeUpdate(DocumentEvent e) {
    warn();
  }
  public void insertUpdate(DocumentEvent e) {
    warn();
  }

但在JavaFX的文本字段中,您无法执行此操作。所以解决办法是什么?

(用代码描述可能非常好,但如果不可能,任何提示都将不胜感激)

共有1个答案

欧阳俊晖
2023-03-14

向TextField的文本属性添加侦听器:

TextField textField = new TextField();
textField.textProperty().addListener((observable, oldValue, newValue) -> {
    System.out.println("textfield changed from " + oldValue + " to " + newValue);
});
 类似资料:
  • 我需要一些帮助。我有一个s的。 我想检查值是否发生了变化。如果是,我想知道它是哪个文本字段。我知道我可以使用侦听器来执行此操作,但这只适用于单个侦听器。 我希望它在数组上工作并确定哪个文本字段已更改。 提前感谢!

  • 问题内容: 我想一种添加到我当过用户更改的,它的值,应用程序在控制台上打印的东西。 我进行了搜索,发现以下非常相似的问题:JTextField的值更改侦听器 提到的问题的答案非常清楚和有效,但是不幸的是,它仅对(Not )有用,因为它说您应该像这样使用DocumentListener: 但是在JavaFX的TextField中,您无法执行此操作。所以?解决办法是什么? (使用代码进行描述可能会很好

  • 嗨,我有一个很可能很愚蠢的问题。我刚开始玩弄属性和ChangeListener,但遇到了一个障碍。我知道,如果我创建了一个包含数组列表的对象属性,那么只有当数组列表本身发生变化时,任何ChangeListener才会启动。但是,如果出现以下情况,我希望所有ChangeListener都启动 阵列列表本身会更改 数组列表的长度会更改(即添加或删除元素) 将ArrayList中的元素更改为其他元素 数

  • 在我的代码中,如果用户在ComboBox 2中输入值,它将反映在TextField中,但是如果用户从ComboBox 1的下拉列表中选择,而不更改ComboBox 2中的值,那么TextField中的值将保持不变,它不会更改。我做错了吗? 测试2。txt:1任何帮助都将不胜感激!

  • 问题内容: 我希望消息框在用户更改文本字段中的值后立即显示。目前,我需要按Enter键才能弹出消息框。我的代码有什么问题吗? 任何帮助,将不胜感激! 问题答案: 将侦听器添加到为您自动创建的基础文档中。

  • 问题内容: 我希望在用户更改文本字段中的值后立即显示消息框。目前,我需要按Enter键才能弹出消息框。我的代码有什么问题吗? 任何帮助,将不胜感激! 问题答案: 将侦听器添加到为你自动创建的基础文档中。