初始化后将 header 添加到 Jtable

Adding header to a Jtable after initializing

就我所见的教程而言,每个人似乎都使用 ( object [][] , object[] ) 初始化 JFrame,因此他们可以将第二个参数用作header。我已经用 ( int , int ) 初始化了我的 table 所以我的 table 的 header 现在只是说 A and B. 有没有简单的方法来改变 header 单元格之后?

阅读 DefaultTableModel API。

您可以使用许多构造函数来初始化 table 您想要的方式。

基本逻辑应该是这样的:

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?

是的,你可以。我只是给了你最简单的方法。

如果您想为自己做更多的工作,那么您可以:

  1. 得到table的TableColumnModel
  2. 遍历 TableColumnModelTableColumn
  3. 更新每个 TableColumn 的 header 值。

everyone seem to initialize the JFrame with ( object [][] , object[] )

这不是创建 table 的好方法,因为您需要有一个固定大小 table 并且您知道需要手动查看每个单元格。

相反,您使用向量并动态添加数据,因此 table 可以包含任意数量的行。不要限制 table 的大小。了解如何针对动态数据进行设计,这将为您提供灵活性,同时也支持静态数据。

例如,您可以只使用 0 行数据设置 table 模型的列名。然后你只需使用 DefaultTableModeladdRow(...) 方法来添加数据。