就我所见过的教程而言,每个人似乎都使用( object [][] , object[] ) 初始化 JFrame ,因此他们可以使用第二个参数作为 header 。我已经用( int , int )初始化了我的表,所以我的表的标题现在只是说 A and B.有没有一种简单的方法可以稍后更改标题单元格?
最佳答案
阅读DefaultTableModel
API。
您可以使用许多构造函数来根据需要初始化表。
基本逻辑应该是这样的:
DefaultTableModel model = new DefaultTableModel(...);
JTable table = new JTable( model );
JScrollPane scrollPane = new JScrollPane( table );
you can't update the header after the initialization of the table?
是的,可以。我只是给了你最简单的方法。
如果您想为自己做更多工作,那么您可以:
- 获取表的
TableColumnModel
。 - 迭代
TableColumnModel
的TableColumn
。 - 更新每个
TableColumn
的标题值。
everyone seem to initialize the JFrame with ( object [][] , object[] )
这不是创建表格的好方法,因为您需要有一个固定大小的表格,并且您知道需要手动查看每个单元格。
相反,您可以使用 vector 并动态添加数据,以便表可以包含任意数量的行。不要限制表格的大小。了解如何针对动态数据进行设计,这将为您提供灵 active 并支持静态数据。
例如,您可以仅设置包含 0 行数据的表模型的列名称。然后,您只需使用 DefaultTableModel
的 addRow(...)
方法即可添加数据。
关于java - 初始化后向 Jtable 添加 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52953539/