繁体   English   中英

将数据插入到JTable中?

[英]Inserting data into a JTable?

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

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

我不是一个完整的Java新手,因此我确实了解该GUI背后的代码,并且之前已经完成了swing编程。

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

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

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

任何帮助将非常感激,

您做错了所有配合,在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);

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

如果DefaultTableModel不执行您想要的操作,则可以很容易地将AbstractTableModel子类化。

如果您之前已经完成过Swing编程,则应该知道GUI组件由单独的模型类支持。 对于诸如文本字段之类的简单组件,无需过多处理即可完成,但是对于表,则必须处理TableModel 您可以直接使用DefaultTableModel它甚至具有使用二维数组的构造函数。

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

您的代码将类似于:

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

阅读JTable API并单击“如何使用表”上Swing教程的链接,以获取更多信息和工作示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM