JavaFX中fx:id和id之间的区别是什么?

时间:2014-05-15 18:46:30

标签: java xml javafx scenebuilder

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

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

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

所以,一旦我应用了一些更改,就会出现这两个ID的问题...我可能错过了或者对它们感到困惑......

有谁能告诉我他们在哪些情况下被使用过?

4 个答案:

答案 0 :(得分:55)

id您用来为您的Component设置 CSS ID ,例如<Text id="welcome-text" .../>,在样式表中你有类似#welcome-text { font-size: 16pt; }的内容,所以这将是已应用于Text

fx:id如果您想在Controller类中使用您的组件,请使用@FXML Text myWelcomeText,并使用{{1}}对其进行注释。

答案 1 :(得分:8)

fx:id是与fxml中的组件关联以构建控制器的标识,id用于css。

答案 2 :(得分:6)

我看了一下使用JavaFX Scene Builder生成的FXML文档。您可以使用fx:id从Java Controller访问控件。 (编辑)我坚持认为,内容确实很重要。

您可以从FXML文档中应用css,如下所示:

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

(用任何控件替换滑块)

与Java控制器交互:

@FXML
Slider myslider;

答案 3 :(得分:1)

在JavaFX中id用于为组件设置CSS ID。并且fx:id用于在代码中(即在控制器类中)访问该组件。 fx:id的作用类似于组件名称。