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