• ベストアンサー

コンボボックスにつきまして

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

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
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すればコード番号が取り出せる。

rabu_chihaha
質問者

お礼

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

その他の回答 (1)

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

code = map.get(((String)(combox.getSelectedItem()))); //mapはHashMapなどを使用