-2

データベースにいくつかの名前と対応するコードを持つテーブルがありますが、jcombobox に名前を表示したいのですが、その jcombobox から任意の名前を選択すると、対応するコードが返されます。

テーブルはこんな感じ

ネームコード
a 1
b 2
c 3

4

4 に答える 4

1

コードと名前をオブジェクトにラップし、リスト セル レンダラーを使用して名前のみをレンダリングしない理由はありませんが、.getSelectedItem から返されたオブジェクトを取得し、そこからコードを抽出できます

于 2012-07-11T07:54:39.983 に答える
0

ラッパークラスを作成できます-それを呼び出しましょうTableElement

class TableElement {
  public String name;
  public double value;

  public TableElement(String n, double v) {
    name = n;
    value = v;
  }

  // this is what is shown in the JComboBox
  public String toString() {
    return name;
  }
}

次に、すべてのテーブル要素の配列を作成し、JComboBoxこのようなものを作成できます

Vector<TableElement> vect = new Vector<TableElement>();
for (/* all your table elements */) 
  vect.add(new TableElement(elementName, elementValue);
JComboBox comboBox = new JComboBox(vect);

次のように読み上げます。

TableElement selected = (TableElement)comboBox.getSelectedItem();
System.out.println("name = " +selected.name + ",value = " + selected.value);
于 2012-07-11T08:26:41.387 に答える
0

見てきた

  1. ItemListener (発生するイベントは常に 2 回)

  2. アクションリスナー

于 2012-07-11T07:01:56.773 に答える