加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

什么是JavaFx / FXML中的“节点”?

发布时间:2020-12-14 23:43:31 所属栏目:Java 来源:网络整理
导读:JavaFx / FXML上下文中的“Node”一词是什么意思?如果我搜索这个问题,我发现所有人都在使用“讨论别的东西”一词,但没有解释.例如,这个问题的答案: How do I open the JavaFX FileChooser from a controller class?: For any node in your scene (for exa
JavaFx / FXML上下文中的“Node”一词是什么意思?如果我搜索这个问题,我发现所有人都在使用“讨论别的东西”一词,但没有解释.例如,这个问题的答案: How do I open the JavaFX FileChooser from a controller class?:

For any node in your scene (for example,the root node; but any node
you have injected with @FXML will do),do

chooser.showOpenDialog(node.getScene().getWindow());

节点会是什么,以及如何“注入@FXML”?

解决方法

Node是场景图“由…构成”的图形元素的抽象超类.

从Node继承的类的一些示例:

> TextField
> AnchorPane
>画布
>集团
> VBox
>按钮
>标签
> ……

以这种方式注入具有FXMLLoader id的节点:

>在与fxml关联的控制器中创建一个具有适当类型的字段(即可以为要注入的元素指定的任何类型). FXMLLoader必须可以访问此字段,这意味着它必须是公共的或使用@FXML注释进行注释.
>将fxml命名空间中的id属性(最有可能使用前缀fx)添加到应注入的fxml文件中的元素.该属性的值是控制器中字段的名称.

FXML

....
<TextField fx:id="myTextField" ....>
....

调节器

....
@FXML
private TextField myTextField;
....

在调用控制器的initialize方法之前,FXMLLoader使用此信息将为fxml元素创建的对象分配给字段.

可以在此处找到包含注射的完整示例/扩展指南:https://docs.oracle.com/javase/8/javafx/fxml-tutorial/fxml_tutorial_intermediate.htm#JFXMG153

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读