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

前端之家收集整理的这篇文章主要介绍了什么是JavaFx / FXML中的“节点”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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

猜你在找的Java相关文章