2010-12-04 60 views
0

我使用的NetBeans IDE随附了一个非常方便的GUI创建工具,但遇到了麻烦。插入数据到JTable?

我正在为数据源创建第一个查询并以字符串数组的形式接收该数据的应用程序。我如何将这些数据插入到我使用GUI创建者放入我的窗口的jtable中。

我不是一个完整的java新手,所以我知道这个GUI背后的代码,并且已经完成了swing编程。

例如,假设我有一个字符串的两个数组:

String[] tableA_01 = {"Column01","Column02","Column03","Column04"}; 
String[] tableA_02 = {"Data01","Data02","Data03","Data04"}; 

我怎么会插入第一个数组值到第一列,然后第二阵列值到第二个栏,我没用过JTable组件在摆动之前,所以我不知道。

任何帮助将不胜感激,

回答

0

的数据并不进入JTable直接;相反,它进入TableModel。您可以使用DefaultTableModel或者您可以创建自己的实现。

如果DefaultTableModel没有做到你想要的,就很容易子类AbstractTableModel

0

如果您之前完成过Swing编程,您应该知道GUI组件由单独的模型类支持。对于像文本字段这样的简单组件,您可以不用处理那么多,但对于表格,您必须处理TableModel。你可以直接使用DefaultTableModel - 它甚至有一个构造函数,它需要一个二维数组。

0

那么我怀疑你会使用它们作为列的数据。相反,它看起来像第一个数组将是4列的“标题”值,然后第二个数组将是这4列的“数据”值。

您的代码将是这样的:

DefaultTableModel model = new DefaultTableModel(tablea_01, tableA_02); 
JTable table = new JTable(model); 

阅读JTable的API,并按照“如何使用表”的详细信息和工作实例链接到Swing指南。

2

您正在做这一切错误的队友,在Jtable的defaultTableModel中,您可以非常轻松地添加数据。 例如

DefaultTableModel table = (DefaultTableModel) <some JTable>.getModle(); 
table.addRow{"<column1 value>","<column2 value>"};// maybe even more columns 
从两个数组

所以即

String[] tableA_01 = {"Column01","Column02","Column03","Column04"}; 
String[] tableA_02 = {"Data01","Data02","Data03","Data04"}; 

使阵列状

String[] row1 = {"Column01","Data01"}; 
String[] row2 = {"Column02","Data02"}; 
String[] row3 = {"Column03","Data03"}; 
String[] row4 = {"Column04","Data04"}; 

看起来繁琐,但你可以通过使用

把这个循环和更新
table.addRow(row1);