FXMLを使用してComboBox
にデフォルト値を設定するにはどうすればよいですか?
<ComboBox fx:id="cbo_Bacteriologie_Aesculine" prefHeight="21.0" prefWidth="105.0" GridPane.columnIndex="1" GridPane.rowIndex="0">
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="NVT" />
<String fx:value="Bezig" />
<String fx:value="Positief" />
<String fx:value="Negatief" />
</FXCollections>
</items>
</ComboBox>
デフォルトでNVT
を選択してください。追加してみましたselected="selected"
などですが、正しい構文を見つけられないようです。
シーンビルダーを使用してリストされたアイテムを編集することは可能ですか?見つけられないようです。
これを使って:
<ComboBox>
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="NVT" />
<String fx:value="Bezig" />
<String fx:value="Positief" />
<String fx:value="Negatief" />
</FXCollections>
</items>
<value>
<String fx:value="NVT" />
</value>
</ComboBox>
FXMLではそれが可能ではないと思います。たとえば、次の行cbo_Bacteriologie_Aesculine.getSelectionModel().setSelectedIndex(1);
を使用して、要素Bezigを選択することで、コントローラーのコンポーネントの初期化でそれを行う必要があります。
しかし、FXMLでそれを行う方法を見つけたら、私は興味があります。
編集:FXMLで可能です。これは、ゲドリーノの回答( https://stackoverflow.com/a/14436371/1344424 )で確認できます。これは、この質問に対する正しい回答になるはずです。
最初に提案された方法で奇妙なエラーが発生しました
setSelectedItem(T)は、Tが型変数であるSelectionModelでアクセスを保護しています。Tは、クラスSelectionModelで宣言されたオブジェクトを拡張します。
私のために
getSelectionModel().select("NVT");
魅力のように働いた。