2017-07-11 6 views
0

jTableのデータが含まれていると思われるjComboBoxがあります。 私のコンボボックスのリストがjComboBoxリストを使用してjTableFieldにjTableデータを使用

  • アーチャーある
  • 騎士
  • ローグ
  • メイジナイトは、私からの騎士のデータが欲しいコンボボックスから選択された場合に何がしたいことはある

jTableは特定のjTextFieldにインポートされます。

私はAGI、 としてSTRとしてjTextField1jTextField2を持っているので、..に

どのように私は、これらの命令をコーディングしていますか?

jTable1.setModel(new javax.swing.table.DefaultTableModel(
     new Object [][] { 
      {"Archer", new Double(5.0), new Double(12.0), new Double(6.0), new Double(3.0), new Double(4.0)}, 
      {"Knight", new Double(14.0), new Double(4.0), new Double(10.0), new Double(1.0), new Double(1.0)}, 
      {"Rogue", new Double(6.0), new Double(18.0), new Double(3.0), new Double(4.0), new Double(5.0)}, 
      {"Mage", new Double(3.0), new Double(4.0), new Double(4.0), new Double(18.0), new Double(17.0)} 
     }, 
     new String [] { 
      "Specializations", "STR", "AGI", "CON", "INT", "WIS" 
     } 
+0

ここで、データは保存されていますか?テーブルやコンボボックスで? – XtremeBaumer

+0

データはテーブルに格納されます。私はそれがコンボボックスから選択されている場合、それをjtextfieldに転送したい。私のコンボボックスからナイトを選択すると言う、私はjtextfieldに転送されたテーブルからナイトのデータをしたい –

+0

あなたはどのようにデータがテーブルに格納されている視覚的な例を与えることができますか? – XtremeBaumer

答えて

1

コンボボックス内のデータがJTableのと同じ順序である場合:

int selectedIndex = jComboBox1.getSelectedIndex(); 
    Object valueAt0 = jTable1.getModel().getValueAt(selectedIndex, 0); 
    Object valueAt1 = jTable1.getModel().getValueAt(selectedIndex, 1); 
    jTextField1.setText("" + valueAt0 + " " + valueAt1); 
2

私は(あなたがあなたのヒーローを作成するには、英雄クラスを作ることができると思いますクラス内の値をラップし、 toString()メソッドをオーバーライドします。)

class ComboItem 
{ 
private String key; 
private String value; 

public ComboItem(String key, String value) 
{ 
    this.key = key; 
    this.value = value; 
} 

@Override 
public String toString() 
{ 
    return key; 
} 

public String getKey() 
{ 
    return key; 
} 

public String getValue() 
{ 
    return value; 
} 

あなたのコンボボックスにComboItemを追加します。

comboBox.addItem(new ComboItem("Visible String 1", "Value 1")); 
comboBox.addItem(new ComboItem("Visible String 2", "Value 2")); 
comboBox.addItem(new ComboItem("Visible String 3", "Value 3")); 

選択したアイテムを取得するたびに

Object item = comboBox.getSelectedItem(); 
String value = ((ComboItem)item).getValue(); 
関連する問題