fx:id 和 id: 在 JavaFX 中有什么区别?

问题描述 投票:0回答:4

也许是一个真正的新手问题....

我开始使用 Scene Builder 在 FMXL 应用程序中学习 JavaFX,方法是阅读本教程:

http://docs.oracle.com/javase/8/javafx/get-started-tutorial/fxml_tutorial.htm

所以一旦我应用了一些更改,就出现了这 2 个 ID 的问题......我可能错过了或混淆了他们的一些东西......

谁能告诉我在哪些情况下使用它们?

java xml javafx scenebuilder
4个回答
66
投票

id
你用来为你的组件设置一个CSS ID,例如
<Text id="welcome-text" .../>
并且在你的样式表中你有像
#welcome-text { font-size: 16pt; }
这样的东西所以这将应用于你的
Text
.

fx:id
如果你想在你的控制器类中使用你的组件,你可以使用
@FXML Text myWelcomeText
.


12
投票

fx:id是fxml中component关联的identity,用于构建controller,id用于css


7
投票

我查看了使用 JavaFX Scene Builder 生成的 FXML 文档。您可以使用 fx:id 从 Java Controller 访问控件。 (编辑)我的观点是正确的,id 确实很重要。

您可以像这样从 FXML 文档应用 css:

<Slider id="css_id" fx:id="myslider" styleClass="style_name" .../>

(用任何控件替换滑块)

与Java控制器交互:

@FXML
Slider myslider;

1
投票

在 JavaFX 中

id
用于为组件设置 CSS ID。
fx:id
用于在代码中访问该组件(即在控制器类中)。
fx:id
像组件名称一样工作。

© www.soinside.com 2019 - 2024. All rights reserved.