Peut-être une question vraiment novice ...
Je commence à apprendre JavaFX dans une application FMXL à l'aide de Scene Builder, en lisant ces tutoriels:
http://docs.Oracle.com/javase/8/javafx/get-started-tutorial/fxml_tutorial.htm
Donc, une fois que j'ai appliqué quelques modifications, un problème avec ces 2 ID est apparu ... J'ai peut-être manqué ou confondu quelque chose à leur sujet ...
Quelqu'un peut-il me dire dans quels cas ils sont utilisés l'un ou l'autre?
id
vous utilisez pour définir un CSS ID à votre composant, par exemple <Text id="welcome-text" .../>
et dans votre feuille de style, vous avez quelque chose comme #welcome-text { font-size: 16pt; }
donc ceci sera appliqué à votre Text
.
fx:id
vous utilisez si vous souhaitez travailler avec vos composants dans votre classe Controller, où vous les annotez avec @FXML Text myWelcomeText
.
Fx: id est l'identité associée au composant dans fxml pour créer un contrôleur, et l'id est utilisé pour css.
J'ai jeté un coup d'œil à un document FXML généré à l'aide de JavaFX Scene Builder . Vous accédez aux contrôles à partir de Java Controller avec le fx: id. (Edit) Je me tiens corrigé, l'id importe.
Vous pouvez appliquer le CSS du document FXML comme ceci:
<Slider id="css_id" fx:id="myslider" styleClass="style_name" .../>
(Remplacez le curseur par n'importe quel contrôle)
Et Java interaction du contrôleur:
@FXML
Slider myslider;
Dans JavaFX id
est utilisé pour définir un ID CSS pour un composant. Et fx:id
est utilisé pour accéder à ce composant dans le code (c'est-à-dire dans une classe de contrôleur). fx:id
fonctionne comme un nom de composant.