初始化后将 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?
是的,你可以。我只是给了你最简单的方法。
如果您想为自己做更多的工作,那么您可以:
- 得到table的
TableColumnModel
。
- 遍历
TableColumnModel
的 TableColumn
。
- 更新每个
TableColumn
的 header 值。
everyone seem to initialize the JFrame with ( object [][] , object[] )
这不是创建 table 的好方法,因为您需要有一个固定大小 table 并且您知道需要手动查看每个单元格。
相反,您使用向量并动态添加数据,因此 table 可以包含任意数量的行。不要限制 table 的大小。了解如何针对动态数据进行设计,这将为您提供灵活性,同时也支持静态数据。
例如,您可以只使用 0 行数据设置 table 模型的列名。然后你只需使用 DefaultTableModel
的 addRow(...)
方法来添加数据。
就我所见的教程而言,每个人似乎都使用 ( 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?
是的,你可以。我只是给了你最简单的方法。
如果您想为自己做更多的工作,那么您可以:
- 得到table的
TableColumnModel
。 - 遍历
TableColumnModel
的TableColumn
。 - 更新每个
TableColumn
的 header 值。
everyone seem to initialize the JFrame with ( object [][] , object[] )
这不是创建 table 的好方法,因为您需要有一个固定大小 table 并且您知道需要手动查看每个单元格。
相反,您使用向量并动态添加数据,因此 table 可以包含任意数量的行。不要限制 table 的大小。了解如何针对动态数据进行设计,这将为您提供灵活性,同时也支持静态数据。
例如,您可以只使用 0 行数据设置 table 模型的列名。然后你只需使用 DefaultTableModel
的 addRow(...)
方法来添加数据。