在JavaSwing中使用表模型显示表标题

在JavaSwing中使用表模型显示表标题,java,swing,jtable,tablemodel,Java,Swing,Jtable,Tablemodel,我想用构造函数方法JTableTableModel创建一个表。我需要在TableModel中使用哪些确切的方法来显示每个列的标题?您需要将JTable嵌入JScrollPane中,列标题将自动显示: JScrollPane sp = new JScrollPane(new JTable()); 您需要将JTable嵌入JScrollPane中,列标题将自动显示: JScrollPane sp = new JScrollPane(new JTable()); 例如,您需要通过扩展类或使用来实现

我想用构造函数方法JTableTableModel创建一个表。我需要在TableModel中使用哪些确切的方法来显示每个列的标题?

您需要将JTable嵌入JScrollPane中,列标题将自动显示:

JScrollPane sp = new JScrollPane(new JTable());
您需要将JTable嵌入JScrollPane中,列标题将自动显示:

JScrollPane sp = new JScrollPane(new JTable());
例如,您需要通过扩展类或使用来实现。稍后,您可以在其中设置列的编号和名称。

您需要实现,例如通过扩展类或使用。稍后,您可以在其中设置列的编号和名称。

您需要在TableModel接口中实现getColumnName方法 返回所需的列名

从TableModel的Javadoc:

字符串getColumnNameint columnIndex 返回columnIndex处的列的名称。这用于初始化表的列标题名称

编辑: 抽象类AbstractTableModel为接口TableModel中的大多数方法提供了实现,还为 接口TableModel中的getColumnName方法,但它可能不适合您的用途,因为它返回的列名为A、B

通过子类化AbstractTableModel创建您自己的TableModel,并为抽象方法提供实现,并重写getColumnName方法。例如,您可以尝试以下方法:

您需要在TableModel接口中实现getColumnName方法 返回所需的列名

从TableModel的Javadoc:

字符串getColumnNameint columnIndex 返回columnIndex处的列的名称。这用于初始化表的列标题名称

编辑: 抽象类AbstractTableModel为接口TableModel中的大多数方法提供了实现,还为 接口TableModel中的getColumnName方法,但它可能不适合您的用途,因为它返回的列名为A、B

通过子类化AbstractTableModel创建您自己的TableModel,并为抽象方法提供实现,并重写getColumnName方法。例如,您可以尝试以下方法:


我想你真正想要的是这个班。只要通读文档,你就会走自己的路。

我想你真正想要的是课程。只要通读文档,您就可以走自己的路了。

谢谢亚当斯基。但是有一个小问题:我使用的是GridBagLayout。当我将嵌入JTable的JScrollPane添加到具有此布局的容器中时,JTable被缩减为非常小的大小。我仍然无法理解为什么……您是否添加了具有适当填充、权重x和权重值的滚动窗格?您需要的值是fill=gridbagsconstraints。与各自行/列中的值之和相比,和weigthx和权重值都需要相对较大。理想情况下,jscrollpane的weigthx和weighty将在基1中为1,在同一行/列中的其他组件中为0。感谢Adamski。但是有一个小问题:我使用的是GridBagLayout。当我将嵌入JTable的JScrollPane添加到具有此布局的容器中时,JTable被缩减为非常小的大小。我仍然无法理解为什么……您是否添加了具有适当填充、权重x和权重值的滚动窗格?您需要的值是fill=gridbagsconstraints。与各自行/列中的值之和相比,和weigthx和权重值都需要相对较大。理想情况下,jscrollpane的weighthx和weighty在基1中为1,在同一行/列中的其余组件中为0