2015-06-16 80 views
1


我一直在嘗試將一些數據從Editable JComboBox發送到JXTable。它的代碼是這樣的:DefaultTableModel不接受對象類型

private void selectTestActionPerformed(java.awt.event.ActionEvent evt) {           
    JTextField editorComponent = (JTextField) testName_cb.getEditor().getEditorComponent(); 
    System.out.println(editorComponent.getText()); 
    String data = editorComponent.getText(); 
    Object row = data; /* String to Object casting */ 
    DefaultTableModel model = (DefaultTableModel) testsSelected_table.getModel(); 
    model.addRow(row); /* Error : Cast row to Object or Vector */ 
} 

但這種方法model.addRow(row);的最後一行說:​​3210,這已經是。
我可能會缺少一些概念或邏輯部分作爲初學者。所以想到在這裏發佈一個問題。有人可以指出我的錯誤嗎?我會感激地接受任何建議。

謝謝!

+1

它應是一個'對象[]'。你可以做'row = new Object [] {data};'假設你想要的行只有一列或者數據。否則,您可以使用'model.setValueAt(value,row,col)'設置一個值,如果這就是您真正想要做的事情 –

+0

請參閱['DefaultTableModel']的API(http://docs.oracle.com .com/javase/7/docs/api/javax/swing/table/DefaultTableModel.html) –

+0

應該聲明哪一行顯示爲?如果我使用'row = new Object [] {data};' – mustangDC

回答

0

它應該是一個Object[]。你可以做Object[] row = new Object[] { data };,假設你想要的行只有一列或數據。

否則,您可以使用model.setValueAt(value, row, col)來設置單個值,如果這就是您真正想要做的。

對於一般參考文獻,參見

+0

乾杯和謝謝 – mustangDC

相關問題