プロが教える店舗&オフィスのセキュリティ対策術

JComboBoxを使って、コンボボックスを作成したいのすが、
表示は名称で、実際の値取得はコードで取りたいのですが、
可能でしょうか?
例えば、
コード  名称
001   りんご
002   ぶどう
003   パイン
というデータをセットし、
コンボボックスのドロップダウンでは「りんご」を選択したときには、
「001」という値を取得したいのです。

よろしくお願いします。

A 回答 (2件)

Stringを値として設定するのでなく、Beanクラスを定義して、そこに値を保持しておけばいいんじゃないかと。

例えば、

class DataBean {
private String name;
private String code;

public DataBean(String s,String c){
name = s;
code = c;
}

public String geCode(){
return c;
}

public String toString(){
return name;
}
}

こんなクラスを用意して、これを値としてJComboBoxに設定する。

combobox.addItem(new DataBean("りんご","001");

こんな感じにね。すると、JComboBoxに表示されるのはtoStringされたテキストだから、表示はnameになる。そして選択されたオブジェクトを取り出し、getCodeすればコード番号が取り出せる。
    • good
    • 0
この回答へのお礼

詳しい説明をありがとうございます。
早速やってみます。

お礼日時:2008/04/18 09:11

code = map.get(((String)(combox.getSelectedItem())));


//mapはHashMapなどを使用
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!