将数据插入JTable?

时间:2010-12-04 23:49:34

标签: java swing jtable awt

我正在使用netbeans IDE,它带有一个非常方便的GUI创建工具,但遇到了麻烦。

我创建的应用程序首先查询数据源并以字符串数组的形式接收该数据。如何使用GUI创建器将此数据插入到我放入窗口的jtable中。

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

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

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

如何将第一个数组值插入第一列,然后将第二个数组值插入第二列,我之前没有使用过JTable组件,所以我真的不知道。

非常感谢任何帮助,

4 个答案:

答案 0 :(得分:3)

你这样做是错误的配偶,在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);

答案 1 :(得分:0)

数据不会直接进入JTable;而是进入TableModel。您可以使用DefaultTableModel,也可以创建自己的实施。

如果AbstractTableModel没有做你想做的事情,那么继承DefaultTableModel很容易。

答案 2 :(得分:0)

如果您之前已完成Swing编程,则应该知道GUI组件由单独的模型类支持。对于像文本字段这样的简单组件,您可以在不处理那些问题的情况下顺利完成,但对于表格,您必须处理TableModel。您可以直接使用DefaultTableModel - 它甚至还有一个采用二维数组的构造函数。

答案 3 :(得分:0)

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

您的代码类似于:

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

阅读JTable API并按照“如何使用表格”的Swing教程链接获取更多信息和工作示例。