【问题标题】:ComboBox FXML default value组合框 FXML 默认值
【发布时间】:2012-07-25 22:17:54
【问题描述】:

如何使用 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" 等,但似乎找不到正确的语法。

是否可以使用 Scene Builder 编辑列出的项目?好像没找到。

【问题讨论】:

    标签: java javafx combobox javafx-2 fxml


    【解决方案1】:

    使用这个:

    <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>
    

    【讨论】:

    • &lt;ComboBox value="NVT"&gt; 也可以,看起来更干净。
    • javafx.fxml.LoadException: String is not a valid type.
    • @BappadityaSasmal 您需要导入 String 类。 &lt;?import java.lang.String?&gt;
    • 不要忘记这些导入:
    【解决方案2】:

    我认为这在 FXML 中是不可能的。您将需要在控制器的组件初始化中执行此操作,例如使用以下行 cbo_Bacteriologie_Aesculine.getSelectionModel().setSelectedIndex(1); 选择元素 Bezig。

    但如果你能找到一种在 FXML 中实现的方法,我很感兴趣。

    编辑:在 FXML 中是可能的。您可以在 Guedolino 的回答 (https://stackoverflow.com/a/14436371/1344424) 中看到它,这应该成为这个问题的正确答案。

    【讨论】:

    • 好的,我使用了以下代码cbo_Bacteriologie_Aesculine.getSelectionModel().selectFirst();,它成功了。我希望能支持在 FXML 中处理这个问题 :)
    【解决方案3】:

    第一个建议的方法出现了一个奇怪的错误

    setSelectedItem(T) 在 SelectionModel 中具有受保护的访问权限 其中 T 是一个类型变量: T 扩展类 SelectionModel 中声明的 Object

    对我来说

    getSelectionModel().select("NVT");
    

    工作就像一个魅力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-17
      • 2012-04-07
      • 2014-02-14
      • 2011-08-23
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多