我正在从事 JavaFX 项目。我需要在 JavaFX TextField
上执行一些任务。
例如,在 TextField
的“焦点”事件上,我想打印
System.out.println("Textfield on focus");
在它应该打印的“失焦”事件上
System.out.println("Textfield out focus");
原文由 java baba 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在从事 JavaFX 项目。我需要在 JavaFX TextField
上执行一些任务。
例如,在 TextField
的“焦点”事件上,我想打印
System.out.println("Textfield on focus");
在它应该打印的“失焦”事件上
System.out.println("Textfield out focus");
原文由 java baba 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 focusedProperty
的 Node
附加 ChangeListener
。
扩展 Brendan 的答案:从 JavaFX8(Java 8 附带)中,lambda 表达式与三元运算符相结合可以使其非常紧凑:
textField.focusedProperty().addListener((obs, oldVal, newVal) ->
System.out.println(newVal ? "Focused" : "Unfocused"));
原文由 DVarga 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
我认为看到一个示例可能会有所帮助,该示例将 ChangeListener 指定为匿名内部类,如提到的 scottb。
我希望这个答案有帮助!