FXML,脚本标记和初始化方法
FXML, script tag and initialize method
我正在测试和发现JavaFX。
在JavaFX关于控制器的FXML文档中,据说如果控制器有一个public void initialize()
方法,它将在FXML图形加载后被调用。
是否有可能做类似的事情,但从FXML文件在脚本的方式?我尝试了类似的东西,但是根本没有调用initialize()
。
<?xml version="1.0" encoding="UTF-8"?>
<?language javascript?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane xmlns:fx="http://javafx.com/fxml">
<fx:script>
importClass(java.lang.System);
function initialize() {
System.out.println('hello');
}
</fx:script>
<Button text="Button" />
</AnchorPane>
我错过了什么,或者只是不可能从FXML文件做到这一点?
是否有一种解决方案,使FXML文件可以嵌入一些代码,将自动执行后加载(不使用外部Java控制器文件)?
我认为fxml中的脚本将像在HTML中一样内联执行。因此,不要将要执行的脚本语句放在任何函数中。
查看这个fxml+JavaScript节拍器应用程序的示例
控制器还必须实现javafx.fxml.Initializable接口。要调用的initialize方法。控制器的代码示例显示了这一点,但描述不是很清楚。
我不确定FXML脚本
相关文章:
- 未捕获错误:无法在初始化之前调用方法;
- 为什么可以't我使用成员方法初始化一个实例
- 检查对话框是否为 Open 会引发“初始化前无法在对话框上调用方法”错误
- JQUERY对话框未捕获错误:初始化之前无法调用对话框上的方法
- 有没有一种方法可以获得用{}初始化的对象的原型
- 这是初始化快速点击的好方法吗
- 在ES2015中,如何确保所有方法都等待对象初始化?使用ES7装饰器
- JQuery 1.11.2 在初始化之前无法在对话框上调用方法;试图调用方法“销毁”
- 未捕获错误:初始化前无法在对话框上调用方法;尝试调用方法“打开”
- 初始化数据的正确方法
- 如何延迟对 javascript 对象的任何方法的所有调用,直到对象初始化
- “初始化前无法在工具提示上调用方法”错误,当我添加 jquery-ui 库时
- Ember.js - 在车把内初始化的视图中调用方法
- ReactJS - 在 react 类中初始化 jquery 插件的标准方法是什么
- 调用 Backbone 内部的外部函数.js的视图初始化方法
- 在 Backbone 中将函数设置为属性.js给了我一个错误,但如果我在初始化方法中设置它,它会起作用
- Backbone.js从中提取集合's初始化方法
- FXML,脚本标记和初始化方法
- 使用带有原型或对象初始化方法的angular指令
- 可以删除我的主干中的属性吗?模型's初始化方法,并将它们更改为模型的属性