在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
像组件名称一样工作。