我想知道如何设置一个包含我可以保存的整数值的 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);`
我做错了什么?
最佳答案
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
-array:
String[] itemAliasArray = {"Entree", "Main meal", "Dessert", "Drink"};
现在您可以像这样构建组合框:
Item t = new Item();
JComboBox combo = new JComboBox(t.itemAliasArray);
现在你拥有了你想要的东西(我想)。
请注意,您使用的是一种非常奇怪的设计...
关于java - 如何在 JComboBox 中显示整数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2749275/