В чем разница между fx:id и id: в JavaFX?
может быть, действительно вопрос новичка....
Я начинаю изучать JavaFX в приложении FMXL с помощью Scene Builder, прочитав эти учебники:
http://docs.oracle.com/javase/8/javafx/get-started-tutorial/fxml_tutorial.htm
поэтому, как только я применил некоторые изменения, возникла проблема с этими 2 идентификаторами... Возможно, я что-то пропустил или перепутал...
может кто-нибудь подскажет, в каких случаях они используются один или еще?
4 ответов
id
вы используете для установки CSS ID к вашему компоненту, например <Text id="welcome-text" .../>
и в вашей таблице стилей у вас есть что-то вроде #welcome-text { font-size: 16pt; }
таким образом, это будет применено к вашему Text
.
fx:id
вы используете, если хотите работать с вашими компонентами в своем классе контроллера, где вы аннотируете их с @FXML Text myWelcomeText
.
fx: id-это идентификатор, связанный с компонентом в fxml для создания контроллера, и id используется для css.
Я взглянул на документ FXML, созданный с помощью JavaFX Scene Builder. Вы получаете доступ к элементам управления от Java Controller с fx: id. (edit) я исправлен, идентификатор имеет значение.
вы можете применить css из документа FXML следующим образом:
<Slider id="css_id" fx:id="myslider" styleClass="style_name" .../>
(замените ползунок любым элементом управления)
и взаимодействие контроллера Java:
@FXML
Slider myslider;
В JavaFX id
используется для установки идентификатора CSS в компонент. И fx:id
используется для доступа к этому компоненту в коде (т. е. в классе контроллера). fx:id
работает как имя компонента.