19

ComboBoxFXML を使用してデフォルト値を設定するにはどうすればよいですか?

<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"などを試みましたが、正しい構文が見つからないようです。

Scene Builderを使用してリストされたアイテムを編集することは可能ですか? 私はそれを見つけることができないようです。

4

3 に答える 3

49

これを使って:

<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>
于 2013-01-21T10:11:56.720 に答える
8

FXMLでは不可能だと思います。これは、コンポーネントの初期化で、たとえばコントローラでcbo_Bacteriologie_Aesculine.getSelectionModel().setSelectedIndex(1);、要素Bezigを選択するために次の行を使用して行う必要があります。

しかし、FXMLでそれを行う方法を見つけたら、私は興味があります。

編集:FXMLで可能です。Guedolinoの回答(https://stackoverflow.com/a/14436371/1344424)で確認できます。これは、この質問に対する正しい回答になるはずです。

于 2012-07-27T14:36:45.083 に答える
6

最初に提案された方法で奇妙なエラーが発生しました

setSelectedItem(T) は、T が型変数である SelectionModel で保護されたアクセスを持っています: T は、クラス SelectionModel で宣言されたオブジェクトを拡張します。

私のため

getSelectionModel().select("NVT");

魅力のように働きました。

于 2012-08-30T15:21:55.727 に答える