java - 通过fxml添加EventFilter

标签 java javafx javafx-8 fxml

现在我可以做到

public TextField lastmonthbox;
public void initialize()throws Exception{
    lastmonthbox.addEventFilter(KeyEvent.KEY_TYPED, new EventHandler<KeyEvent>() {
        public void handle( KeyEvent t ) {
            char ar[] = t.getCharacter().toCharArray();
            char ch = ar[t.getCharacter().toCharArray().length - 1];
            if (!(ch >= '0' && ch <= '9' || ch=='.')) {
                System.out.println("The char you entered is not a number");
                t.consume();
            }
        }
    });

}

有没有办法通过fxml添加事件过滤器,看起来像onAction =“#someFunction”??

我没有找到任何关于 fxml 中所有可能标签的列表或教程(

最佳答案

据我所知不可以,但您始终可以根据您的需要自定义控件。例如像

<MyTextField ... onKeyTypedFilter="#yourFilter" />

然后在后端做一些反射工作。但这值得吗?

关于java - 通过fxml添加EventFilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22589901/

相关文章:

javafx - 是否可以自动更新 native JavaFX 应用程序?

java - 使用 JavaFX 中另一个打开的窗口中的对象填充 ListView

JavaFX - 文本区域未填充时发出警报

java - 如何从 javafx 中的按钮内部获取按键事件

java - 如何在 javafx 中操作 Future 的结果

java - 使用 JAva FX 运行在 1.7 JDK 上使用 JRE 11 编译的 Java 应用程序

java - 使用 Batik Transcoder 禁用日志记录?

java - 无法通过 JSON 按类别查找 liferay 文章

java - 如何在 AWS Lambda 中调用受 SSL 保护的 REST 服务

java - 编写具有公共(public)字段的 pojo 的最佳方式