每次点击选择框时都会出错

时间:2016-04-01 06:20:42

标签: java javafx dropdownchoice

我创建了一个名为ChoiceBox的{​​{1}}对象。我将以下代码添加到我的控制器类中:

backgroundChoiceBox

在initialize方法中,我添加了以下两行代码:

@FXML
private ChoiceBox<String> backgroundChoiceBox = new ChoiceBox<>();

当我运行程序时,会出现选择框,没有错误发送到控制台。但是,当我点击选择框时,我收到以下错误。

backgroundChoiceBox.getItems().addAll("Trees", "Mountains");
backgroundChoiceBox.setValue("Trees");

我对树木和山脉的选项仍然显示并允许我点击它们,但它会导致出现相同的错误序列。如果有人能帮助解释为什么会发生这种情况会很棒!提前致谢

1 个答案:

答案 0 :(得分:0)

ChoiceBox的初始化应由你的FXML文件处理。

例如:

<ChoiceBox fx:id="backgroundChoiceBox" value="Trees">
    <items>
        <FXCollections fx:factory="observableArrayList">
            <String fx:value="Trees" />
            <String fx:value="Mountains" />
        </FXCollections>
    </items>
</ChoiceBox>

您目前正在初始化ChoiceBox两次。一旦进入FXML文件,一次进入控制器。

从控制器类中删除= new ChoiceBox<>();并删除相应的

backgroundChoiceBox.getItems().addAll("Trees", "Mountains");
backgroundChoiceBox.setValue("Trees");

来自初始化方法。之后,您的choiceAction方法应该无异常地工作。