- ベストアンサー
コンボボックスにつきまして
JComboBoxを使って、コンボボックスを作成したいのすが、 表示は名称で、実際の値取得はコードで取りたいのですが、 可能でしょうか? 例えば、 コード 名称 001 りんご 002 ぶどう 003 パイン というデータをセットし、 コンボボックスのドロップダウンでは「りんご」を選択したときには、 「001」という値を取得したいのです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#94983
回答No.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すればコード番号が取り出せる。
その他の回答 (1)
- _ranco_
- ベストアンサー率58% (126/214)
回答No.1
code = map.get(((String)(combox.getSelectedItem()))); //mapはHashMapなどを使用
お礼
詳しい説明をありがとうございます。 早速やってみます。