JavaFX & FXML: как установить выбранный по умолчанию элемент в ChoiceBox в FXML?
У меня есть следующий FXML:
<ChoiceBox>
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="2 minutes" />
<String fx:value="5 minutes" />
<String fx:value="15 minutes" />
</FXCollections>
</items>
</ChoiceBox>
но в GUI он просто показывает ChoiceBox с значением по умолчанию ничего. Я хотел бы, чтобы первый элемент в списке был по умолчанию, и для выбора "null" или ничего не запрещалось.
Как это сделать?
2 ответов
Я добавил атрибут value в тег ChoiceBox, и это сработало.
<ChoiceBox value="2 minutes">
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="2 minutes" />
<String fx:value="5 minutes" />
<String fx:value="15 minutes" />
</FXCollections>
</items>
</ChoiceBox>
во-первых, вы должны импортировать необходимую модель стоимости, как Кроуэлл ответ, вы должны импортировать, как это в вашем заголовке fxml:
<?import javafx.collections.*?>
во-вторых, если вы хотите импортировать свою собственную модель, сначала импортируйте ее, а затем вот так:
<?import com.zzg.mybatis.generator.model.*?>
....
<ChoiceBox layoutX="24.0" layoutY="14.0" prefWidth="150.0">
<items>
<FXCollections fx:factory="observableArrayList">
<DatabaseDTO name="MySQL" value="1"></DatabaseDTO>
<DatabaseDTO name="Oracle" value="2"></DatabaseDTO>
</FXCollections>
</items>
</ChoiceBox>