我正在嘗試將從表單讀入的數據添加到jTable中。到目前爲止,這是我的,我不知道爲什麼它不會工作。這是代碼:使用按鈕將新數據行添加到jTable單擊
public void fillTable(){
String inputField1 = jTextArea1.getText();
String inputField2 = jTextField8.getText();
String inputField3 = jComboBox1.getSelectedItem().toString();
String inputField4 = jTextField11.getText();
DefaultTableModel model = (DefaultTableModel) jTable2.getModel();
int numRows = jTable2.getRowCount();
for (int i = 0; i <= numRows; i++){
model.setValueAt(inputField1, numRows, 1);
model.setValueAt(inputField2, numRows, 2);
model.setValueAt(inputField3, numRows, 4);
model.setValueAt(inputField4, numRows, 6);
}
jTable2.setModel(model);
}
我得到的錯誤是:
Exception in thread "AWT-EventQueue=0" java.lang.ClassCastException: my.rcs.accounting.DraftInvoice$5 cannot be cast to groovy.model.DefaultTableModel
什麼我做錯了,我該如何解決這一問題?
謝謝!
拋出的異常在哪裏?此外,它看起來很奇怪,你正在循環表的每一行,但只將行設置爲'numRows'(這將引發異常BTW)。 – ortis 2014-11-24 10:39:03
你的意思是拋出異常在哪裏?單擊按鈕時調用此方法。即使我不使用for循環,我仍然會得到相同的異常。 – BEE 2014-11-24 10:44:24
我的意思是,代碼中的哪一行。我的猜測是'jTable2.getModel'返回一個'my.rcs.accounting.DraftInvoice'而不是'groovy.model.DefaultTableModel',當你嘗試轉換'DefaultTableModel model =(DefaultTableModel)時會導致異常jTable2.getModel ();'。您應該嘗試使用'DraftInvoice model =(DraftInvoice)jTable2.getModel()'。 – ortis 2014-11-24 10:54:00