2013-06-18 51 views
4

我正在为我的同学开发通讯录,但我遇到JTable问题。在这里,您可以看到该程序的预览,我正在使用NetBeans [click]。如果您点击Add to the Address Book,程序将在该表格中添加一个新行,并使用位于以下文本字段中的数据填充其单元格。我正在使用下面的代码,但行数不会增加。在JTable中增加行数

GUI as is

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { 
     int h; 
     DefaultTableModel model = new DefaultTableModel(); 
     h=jTable1.getRowCount()+1; 
     model.setRowCount(h); 
     jTable1.setValueAt(jTextField2.getText(), h, 1); 
     jTable1.setValueAt(jTextField3.getText(), h, 2); 
     //I'll use more setValueAt() because I must fill all the cells 
    } 

你能不能给我一些意见,如何解决这个问题?

回答

4

您创建了一个新模型。你应该采用分配给表格的模型。

DefaultTableModel model = new DefaultTableModel(); 

应该是:

DefaultTableModel model = jTable1.getModel(); 
+1

谢谢,现在我明白了我的错误:)我想请你另一件事:我使用'jTable1.setValueAt(jTextField3.getText() h,2);'这种将数据添加到单元格的方法。顺便说一句,该程序不会添加jTextField3的内容。你有这个想法吗? –

+2

@ DK64尝试使用'DefaultTableModel.addRow'方法。 –

+1

好的,也谢谢你Nikita :) –