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

也许真的是新手的问题….

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

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

所以,一旦我申请了一些变化,这个2 ID的问题就出现了…我可能会错过或困惑他们的东西…

任何人都可以告诉我在哪些情况下,他们使用一个或另一个?

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

如果你想在你的Controller类中使用你的组件,你可以使用fx:id ,在那里你使用@FXML Text myWelcomeText注释它们。

fx:id是与fxml中用于构build控制器的组件关联的身份,并且该id用于css。

我看了一下使用JavaFX Scene Builder生成的FXML文档。 您可以使用fx:id从Java Controller访问控制。 (编辑)我纠正,身份证确实很重要。

你可以像这样应用FXML文档中的css:

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

(用任何控件replace滑块)

和Java控制器交互:

 @FXML Slider myslider; 

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