「FXMLでChoiceBoxの選択肢を記述するには」の版間の差分

提供: tknotebook
移動: 案内検索
18行: 18行:
 
  </ChoiceBox>
 
  </ChoiceBox>
  
この書き方は items プロパティに FXCollections型のオブジェクトをセットすることを意味し、
+
この書き方は items プロパティに FXCollections型のインスタンスをセットすることを意味し、
FXCollections型のオブジェクトはコンストラクタではなく observableArrayList ファクトリメソッドで生成することを意味します。
+
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 ?>

が必要です。忘れないように。