我想知道如何设置一个包含我可以保存的整数值的JComboBox。 以下是值的定义:
public class Item
{
private String itemDesc;
private int itemType;
public static int ENTREE=0;
public static int MAIN_MEAL=1;
public static int DESSERT=2;
public static int DRINK=3;
private float price;
int[] itemTypeArray = { ENTREE, MAIN_MEAL, DESSERT, DRINK };
Object[][] data = {{itemDesc, new Integer(itemType), new Float(price)}};
.
.
.
}
现在,我希望添加一个JComboBox,用户将选择其中一个项目(ENTREE,MAIN_MEAL ...),然后我可以将该数字设置为整数。
我知道JComboBox必须是这样的:
JComboBox combo = new JComboBox(itemTypeArray.values());
JOptionPane.showMessageDialog( null, combo,"Please Enter Item Type", `JOptionPane.QUESTION_MESSAGE);`
我做错了什么?
答案 0 :(得分:2)
JComboBox的构造函数请求Object[]
。但是您无法将int[]
- 数组转换为Integer[]
- 数组。因此,您必须将列表更改为
Integer[] itemTypeArray = { ENTREE, MAIN_MEAL, DESSERT, DRINK };
然后可以构造组合框:
Item t = new Item();
JComboBox combo = new JComboBox(t.itemTypeArray);
但现在列表(0, 1, 2, 3)
中有数字。所以只需制作一个String
- 数组:
String[] itemAliasArray = {"Entree", "Main meal", "Dessert", "Drink"};
现在你可以像这样构建组合框:
Item t = new Item();
JComboBox combo = new JComboBox(t.itemAliasArray);
现在你有你想要的东西(我想)。
请注意,您使用的是一种非常奇怪的设计......
答案 1 :(得分:1)
按照此posting
中的说明创建项目