2010-08-23 63 views

回答

139

JTable中背后的TableModel处理所有的表背后的数据。为了从表中添加和删除行,你需要使用一个DefaultTableModel

要使用这个模型创建表:

JTable table = new JTable(new DefaultTableModel(new Object[]{"Column1", "Column2"})); 

要添加行:

DefaultTableModel model = (DefaultTableModel) table.getModel(); 
model.addRow(new Object[]{"Column 1", "Column 2", "Column 3"}); 

你可以也用这种方法删除行。

上的DefaultTableModel的全部细节,可以发现here

+1

+1这是一个很好的答案;但是请注意,DefaultTableModel只是众多模型中的一个。然而,它是最容易使用的,我会建议坚持下去,除非你必须使用另一个。 – chessofnerd 2014-03-27 17:20:54

+2

使用第一行代码创建表时,出现错误“构造函数DefaultTableModel(Object [])未定义” – ThisClark 2015-02-08 20:26:09

+2

@ThisClark:对于该DefaultTableModel构造函数,还需要添加rowCount,例如: 'JTable table = new JTable(new DefaultTableModel(new Object [] {“Column1”,“Column2”},20));'' – 2015-09-29 14:28:00

49

用途:

DefaultTableModel model = new DefaultTableModel(); 
JTable table = new JTable(model); 

// Create a couple of columns 
model.addColumn("Col1"); 
model.addColumn("Col2"); 

// Append a row 
model.addRow(new Object[]{"v1", "v2"}); 
7

使用

DefaultTableModel model = (DefaultTableModel) MyJTable.getModel(); 

    Vector row = new Vector(); 
    row.add("Enter data to column 1"); 
    row.add("Enter data to column 2"); 
    row.add("Enter data to column 3"); 
    model.addRow(row); 

获得与DefaultTableModel modelName = (DefaultTableModel) JTabelName.getModel();

模型创建Vector vectorName = new Vector();

一个Vector添加这么多row.add为comumns

附加在即只是modelName.addRow(Vector name);

11

添加它来添加JTable,方式之一是:

1)使用创建表的DefaultTableModel:

 DefaultTableModel model = new DefaultTableModel(); 
     model.addColumn("Code"); 
     model.addColumn("Name"); 
     model.addColumn("Quantity"); 
     model.addColumn("Unit Price"); 
     model.addColumn("Price"); 
     JTable table = new JTable(model); 

2)要添加一行:

 DefaultTableModel model = (DefaultTableModel) table.getModel(); 
     model.addRow(new Object[]{"Column 1", "Column 2", "Column 3","Column 4","Column 5"}); 
0

为了完整起见,首先确保你hav Ë正确的进口,所以你可以使用addRow功能:

import javax.swing.table.*; 

假设你的JTable已经创建,可以继续和创建自己的添加行方法将接受您需要的参数:

public void yourAddRow(String str1, String str2, String str3){ 
    DefaultTableModel yourModel = (DefaultTableModel) yourJTable.getModel(); 
    yourModel.addRow(new Object[]{str1, str2, str3}); 
}