问题
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?
回答1:
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
.
回答2:
The fx:id is the identity associated to component in fxml to build a controller, and the id is used for css.
回答3:
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;
回答4:
In JavaFX id
is used to set a CSS ID to a component. And fx:id
is used for accessing that component in code (i.e. in a controller class). fx:id
works like a components name.
来源:https://stackoverflow.com/questions/23686325/whats-the-difference-between-fxid-and-id-in-javafx