【问题标题】:Editable ComboBox FXML default value可编辑的 ComboBox FXML 默认值
【发布时间】:2023-04-11 11:12:01
【问题描述】:

有一种方法可以在 JavaFx fxml 上为 ComboBox 设置默认值。

我在这里找到了解决方案: https://stackoverflow.com/a/14436371/1344424

<ComboBox editable="true">
    <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>

但是当 Editable 属性设置为 true 时它不起作用。 如何将默认值设置为可编辑的 ComboBox?

【问题讨论】:

    标签: combobox javafx


    【解决方案1】:

    如果您通过属性而不是元素设置值,它似乎可以工作:

    <ComboBox editable="true" value="NVT">
        <items>
            <FXCollections fx:factory="observableArrayList">
                <String fx:value="NVT" />
                <String fx:value="Bezig" />
                <String fx:value="Positief" />
                <String fx:value="Negatief" />
            </FXCollections>
        </items>
    
    </ComboBox>
    

    如果你传入对同一字符串的引用,它也可以这样工作:

    <ComboBox editable="true" value="$defaultSelection">
        <items>
            <FXCollections fx:factory="observableArrayList">
                <String fx:id="defaultSelection" fx:value="NVT" />
                <String fx:value="Bezig" />
                <String fx:value="Positief" />
                <String fx:value="Negatief" />
            </FXCollections>
        </items>
    
    </ComboBox>
    

    【讨论】:

    • 所有作品!有趣的事情。当我将value="$defaultSelection" 放在editable="true" 之前时,没有任何效果。
    【解决方案2】:

    我担心这在 FXML 中是不可能的,但在 Java 代码中:

    ComboBox<String> combobox = new ComboBox<>(FXCollections.observableArrayList("1","2","3","4","5"));
    combobox.setEditable(true);
    combobox.getSelectionModel().selectFirst();
    

    或者如果你想选择一个特定的值:

    combobox.getSelectionModel().select("3");
    

    【讨论】:

      猜你喜欢
      • 2016-07-24
      • 2017-12-25
      • 2012-05-20
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      相关资源
      最近更新 更多