[英]using jTable data to jTextField using jComboBox list
我有一个jComboBox
,据说其中包含来自jTable
数据。 我的组合框列表是
我想要的是,如果从组合框中选择了Knight,我希望将jTable
中Knight的数据导入到特定的jTextField
。
我有一个jTextField1
作为STR,一个jTextField2
作为AGI,依此类推。
如何编写这些说明?
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"
}
我认为您可以制作一个Heroe类,以创建您的英雄(将值包装在类中并覆盖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。
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();
如果组合框中的数据与jTable中的顺序相同:
int selectedIndex = jComboBox1.getSelectedIndex();
Object valueAt0 = jTable1.getModel().getValueAt(selectedIndex, 0);
Object valueAt1 = jTable1.getModel().getValueAt(selectedIndex, 1);
jTextField1.setText("" + valueAt0 + " " + valueAt1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.