What's the difference between fx:id and id: in JavaFX?
Maybe a really newbie's question....
I'm starting learning JavaFX in a FMXL Application using the Scene Builder, by reading this tutorials:
http://docs.oracle.com/javase/8/javafx/get-started-tutorial/fxml_tutorial.htm
So once i applied some changes, an issue with this 2 IDs came up... I might have missed or confused something about them...
Can anyone tell me in which cases they are used one or another?
id
you use to set a CSS ID to your Component, for example <Text id="welcome-text" .../>
and in your stylesheet you have something like #welcome-text { font-size: 16pt; }
so this will be applied to your Text
.
fx:id
you use if you want to work with your Components in your Controller class, where you annotate them with @FXML Text myWelcomeText
.
The fx:id is the identity associated to component in fxml to build a controller, and the id is used for css.
I took a look at an FXML document generated using the JavaFX Scene Builder. You access controls from Java Controller with the fx:id. (edit) I stand corrected, the id does matter.
You can apply css from the FXML document like this:
<Slider id="css_id" fx:id="myslider" styleClass="style_name" .../>
(Replace slider with any control)
And Java controller interaction:
@FXML
Slider myslider;