尽管添加了数据,ComboBox Swing Empty

时间:2016-04-28 07:26:18

标签: java swing combobox

我在面板中创建了comboBox,我正在设置数据:

    public void buildProductList(){
    for (Flower flower:this.controller.getComboModel()
         ) {
        this.productSelect.addItem(flower);
    }
}

其中:

public Flower[] getComboModel(){
 Flower[] flowers = {new Rose("Rose", 5f),new Sunflower("Sun",5f)};
 return flowers;
}

正如我从调试器中看到的那样,

this.productSelect.selectedItemReminder = {Rose@1658}...

据我了解,这意味着我已经为组合框设置了选项。但是,当我单击该框时,它不显示任何内容(空框并且没有占位符)。我错过了什么?

更新

我将我的ComboBox初衷化为:

private JComboBox<Flower> productSelect = new JComboBox<Flower>();;

更新2

由于你们许多人问过,这里有更好的代表情况:

我在Intellij GUI Designer中添加了ComboBox并将其字段名称设置为productSelect

enter image description here

然后,我编写了我的面板:

enter image description here

这是输出:

enter image description here

单击ComboBox时,它不显示任何内容,并在几毫秒内消失。

我希望这些细节有所帮助。

1 个答案:

答案 0 :(得分:0)

我必须做的是删除以更改以下内容:

private JComboBox<Flower> productSelect = new JComboBox<Flower>();

成:

private JComboBox<Flower> productSelect;