2010-02-23 85 views
3

我正在爬java学习曲线,并且第一次需要JTable。我想要做的是显示一个空表,除列标题外,所有单元都是空的。然后,由于用户操作,表格中充满了字符串,整数和浮点数的组合。如何实例化一个空的JTable?

我在网上找到的所有例子都会创建在实例化时填充的表。有没有简单的方法推迟填充表,但在启动时显示它?

在此先感谢您的帮助。

回答

6

创建一个具有指定行数和列数的表模型,并将其用于您的JTable。例如:

String[] colHeadings = {"COLUMN1","COLUMN2"}; 
int numRows = 5 ; 
DefaultTableModel model = new DefaultTableModel(numRows, colHeadings.length) ; 
model.setColumnIdentifiers(colHeadings); 
JTable table = new JTable(model); 

然后,您可以调用模型方法来更新值,添加行等

+0

这编译过,并显示了表格,但没有列标题。这当然是一个简单的方法来获得一个表。我正在用代码提出一个单独的问题。 – 2010-02-23 18:42:09

+0

要显示列,最简单的方法是将表放入滚动窗格中: JScrollPane scroll = new JScrollPane(table); – dogbane 2010-02-24 12:42:44

0

我希望这是你在找什么...

这是我为一个旧项目做了。我将所有的单元格设置为空,因为我只想要一个有4行和4列的表格,所以很容易在声明语句中初始化它们。

jTable1.setModel(new DefaultTableModel(
    new Object [][] { 
        {null, null, null, null}, 
        {null, null, null, null}, 
        {null, null, null, null}, 
        {null, null, null, null}, 
        }, new String [] {"Title 1", "Title 2", "Title 3", "Title 4"} 
       )); 

然后更新的行和/或列使用下面的方法...

jTable1.setValueAt(Object data, int row, int column); 

或多个行或列,使用一个循环。祝你好运。