我在面板中创建了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
:
然后,我编写了我的面板:
这是输出:
单击ComboBox
时,它不显示任何内容,并在几毫秒内消失。
我希望这些细节有所帮助。
答案 0 :(得分:0)
我必须做的是删除以更改以下内容:
private JComboBox<Flower> productSelect = new JComboBox<Flower>();
成:
private JComboBox<Flower> productSelect;