2017-06-02 71 views
0

我试图将selectedRow的数据从jTable传递到jTextField和jComboBox。当选择行时,将jTable的值传递给jComboBox

对于jTextField的每一行,我选择它会自动填充jTextFields,但对于jComboBox部分,当我选择一行时,它会正确填充,但是当我选择另一行时,它会粘贴第一个选定数据,我想传递任何选定的数据行:

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {          
    // TODO add your handling code here: 
    int SelectedRowIndex = jTable1.getSelectedRow(); 
    String sid = (String) jTable1.getValueAt(SelectedRowIndex, 1); 
    jComboBox2.addItem(sid); 
    jTextField1.setText((String) jTable1.getModel().getValueAt(SelectedRowIndex, 2)); 
    jTextField3.setText((String) jTable1.getModel().getValueAt(SelectedRowIndex, 3)); 
    jTextField2.setText((String) jTable1.getModel().getValueAt(SelectedRowIndex, 12)); 
} 
+1

请张贴有效的可测试[MCVE] –

回答

0

首先变量名不应该以大写字母开头。你的一些变量名是正确的,有些不是。了解Java约定并正确使用它们。

,但是当我选择另一行是与第一选择的数据

我猜想,组合框,当你开始为空枝。然后,当您添加第一个项目时,它会自动选择。

但添加其他项目不会改变选择。

所以我建议你的代码应该是:

jComboBox2.addItem(sid); 
jComboBox2.setSelectedIten(sid); 
+0

感谢您的解决方案帮助 –

+0

@YusufMohamed,很高兴它帮助。不要忘了单击复选标记以“接受”答案,以便人们知道问题已解决。请参阅:[接受答案](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)。 – camickr