[英]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.