java - 如何在 JComboBox 中显示整数值?

标签 java jcombobox

我想知道如何设置一个包含我可以保存的整数值的 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/

相关文章:

Java读取txt自定义方法

java - 如何动态地将数组绑定(bind)到JComboBox?

java - 删除组合框作为 jtable 单元格的单元格编辑器

java - 使用带有布局的paintComponent

java - 在Gridlayout中使用ImageView显示文本

java - 可以处理运行时异常吗?

java - 删除重复的项目java gui

java - 将 CSS 文件链接到 Spring Framework 中的 .JSP - ver -4.1.0

Java swing : warning ComboBox is a raw type. 对泛型类型 JComboBox<E> 的引用应参数化