JavaFX 的 TextField 的值变化侦听器
Value Change Listener for JavaFX's TextField
我想在我的 JavaFX's TextField
中添加一种 listener
,当用户更改 TextField
的值时,应用程序会在控制台上打印一些内容。
我进行了搜索,发现了以下非常相似的问题:Value Change Listener to JTextField
提到的问题的答案非常清晰和有效,但不幸的是它只对 JTextField
(不是 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 的 TextFields 中您无法做到这一点。
所以?解决方法是什么?
(用代码描述可以很好,但如果不可能,任何提示将不胜感激)
为 TextField 的 textProperty 添加侦听器:
TextField textField = new TextField();
textField.textProperty().addListener((observable, oldValue, newValue) -> {
System.out.println("textfield changed from " + oldValue + " to " + newValue);
});
我想在我的 JavaFX's TextField
中添加一种 listener
,当用户更改 TextField
的值时,应用程序会在控制台上打印一些内容。
我进行了搜索,发现了以下非常相似的问题:Value Change Listener to JTextField
提到的问题的答案非常清晰和有效,但不幸的是它只对 JTextField
(不是 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 的 TextFields 中您无法做到这一点。 所以?解决方法是什么?
(用代码描述可以很好,但如果不可能,任何提示将不胜感激)
为 TextField 的 textProperty 添加侦听器:
TextField textField = new TextField();
textField.textProperty().addListener((observable, oldValue, newValue) -> {
System.out.println("textfield changed from " + oldValue + " to " + newValue);
});