1

保存できる整数値を含む 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)}};
.
.
.
}

ここで、ユーザーが項目 (ENTREE、MAIN_MEAL...) の 1 つを選択する JComboBox を追加して、数値を整数として設定できるようにします。

JComboBox は次のようにする必要があることはわかっています。

JComboBox combo = new JComboBox(itemTypeArray.values());
        JOptionPane.showMessageDialog( null, combo,"Please Enter Item Type", `JOptionPane.QUESTION_MESSAGE);`

私は何を間違っていますか?

4

2 に答える 2

2

JComboBoxのコンストラクターは。を要求しObject[]ます。int[]ただし、 -arrayを-arrayに変換することはできません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);

今、あなたはあなたが望むものを持っています(私は思います)。


非常に奇妙なデザインを使用していることに注意してください...

于 2010-05-01T09:04:00.407 に答える
1

この投稿に示されているようにアイテムを作成する

于 2010-05-01T16:10:49.753 に答える