「FXMLでChoiceBoxの選択肢を記述するには」の版間の差分
提供: tknotebook
| 18行: | 18行: | ||
</ChoiceBox> | </ChoiceBox> | ||
| − | この書き方は items プロパティに | + | この書き方は items プロパティに FXCollections型のインスタンスをセットすることを意味し、 |
| − | + | FXCollections型のインスタンスはコンストラクタではなく、 | |
| + | FXCollections型の observableArrayList ファクトリメソッドで生成することを意味します。 | ||
詳細は[http://docs.oracle.com/javase/jp/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html FXMLの概要] を参照してください。 | 詳細は[http://docs.oracle.com/javase/jp/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html FXMLの概要] を参照してください。 | ||
2015年12月30日 (水) 03:21時点における版
メインページ>コンピュータの部屋#JavaFX>JavaFX Tips
ChoiceBox や ComboBox などのコントロールでは、選択肢を items プロパティに設定しなければなりませんが、 少々特殊な書き方になるので、残念ながら、現在(2015年12月時点)の SceneBuilder 2.0 ではサポートされていません。 FXMLの中に直に記述することになります。
以下のように記述します。
<ChoiceBox value="One" >
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="One" />
<String fx:value="Two" />
<String fx:value="Three" />
</FXCollections>
</items>
</ChoiceBox>
この書き方は items プロパティに FXCollections型のインスタンスをセットすることを意味し、 FXCollections型のインスタンスはコンストラクタではなく、 FXCollections型の observableArrayList ファクトリメソッドで生成することを意味します。
詳細はFXMLの概要 を参照してください。
尚、FXMLに FXCollections タグを含めるには、FXMLの冒頭に
<?import javafx.collections.FXCollections ?>
が必要です。忘れないように。