当前位置: 首页 > 面试题库 >

JavaFX的TextField的值更改侦听器

徐欣德
2023-03-14
问题内容

我想一种添加listener到我JavaFX's TextField当过用户更改的,它的值TextField应用程序在控制台上打印的东西。

我进行了搜索,发现以下非常相似的问题:JTextField的值更改侦听器

提到的问题的答案非常清楚和有效,但是不幸的是,它仅对JTextField(Not JavaFX's 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的TextField中,您无法执行此操作。所以?解决办法是什么?

(使用代码进行描述可能会很好,但是如果无法做到,那么任何提示将不胜感激)


问题答案:

将侦听器添加到TextField的textProperty中:

TextField textField = new TextField();
textField.textProperty().addListener((observable, oldValue, newValue) -> {
    System.out.println("textfield changed from " + oldValue + " to " + newValue);
});


 类似资料:
  • 我想在我的中添加一种,当用户更改的值时,应用程序会在控制台上打印一些内容。 我搜索了一下,发现了以下非常类似的问题:将Listener值更改为JTextField 上述问题的答案非常清晰有效,但不幸的是,它只对(而不是)有用,因为它说您应该像这样使用DocumentListener: 但在JavaFX的文本字段中,您无法执行此操作。所以解决办法是什么? (用代码描述可能非常好,但如果不可能,任何提

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

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

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

  • 这可能有点复杂,但请忍受我。 我用SceneBuilder构建了3个场景。第一个(“主”)我用作为父场景。此场景包含1个< code>AnchorPane,其中包含一个< code>TabPane和一个< code>ToolBar,其中包含3个< code >按钮(“上一个”、“下一个”和“关闭”)。 第二个场景(“PersonaDetails”)包含一个,一个以及许多(我将其用作字段标签)几个和

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