7

列挙型を定義します:

列挙型itemType{First、Second、Third};

パブリッククラスアイテム

{{

プライベートitemTypeenmItemType;

..。

}

JComboBoxを使用してダイアログボックス内で使用するにはどうすればよいですか?つまり、ダイアログボックス内に、ユーザーは(First、Second、Third)のコンボボックスを使用できます。また、各分子に何らかのIDを使用する方が良いですか?(整数)

ありがとう。

4

3 に答える 3

22

これは私が使用したアプローチです:

enum ItemType {
    First("First choice"), Second("Second choice"), Third("Final choice");
    private final String display;
    private ItemType(String s) {
        display = s;
    }
    @Override
    public String toString() {
        return display;
    }
}

JComboBox jComboBox = new JComboBox();
jComboBox.setModel(new DefaultComboBoxModel(ItemType.values()));

toStringメソッドをオーバーライドすると、ユーザーに意味のある選択肢を提示する表示テキストを提供できます。

注:タイプ名には常に先頭に大文字を付ける必要があるため、私もに変更itemTypeしました。ItemType

于 2010-04-26T16:28:44.797 に答える
10
JComboBox combo = new JComboBox(itemType.values());
于 2010-04-26T16:29:16.010 に答える
3

JComboBoxを使用してダイアログボックスをコーディングする方法を知っていると仮定すると、以下は、列挙値をコンボボックスにロードするために実行できることです。

enum ItemType {First, Second, Third};    
JComboBox myEnumCombo = new JComboBox();
myEnumCombo.setModel(new DefaultComboBoxModel(ItemType.values());

次に、列挙型として値を取得するには、

(ItemType)myEnumCombo.getSelectedItem();

アプリケーションロジックで意味のあるIDを割り当てる必要がない限り、列挙型にIDを割り当てる必要はありません。列挙型自体にはすでに一意のIDシステムがあります。

于 2010-04-26T16:28:13.030 に答える