Java Swing - 将行#列(行标题)添加到JTable

时间:2010-05-10 19:27:58

标签: java swing jtable

我通过自定义表模型将数据库加载到JTable中。我想要一个列(应该是第一列),它只显示显示行号(即它不依赖于任何数据(或排序),而只是屏幕上的行号在1)。这些“行标题”应该像行标题一样变灰。

知道怎么做吗?

由于

3 个答案:

答案 0 :(得分:1)

您使用的是什么TableModel?

您可以在TableModel中覆盖public Object getValueAt(int row, int column)来执行此操作。

public Object getValueAt(int row, int column) {
    if(column == 1) {
        return row; 
    } ...
}

如果在对JTable进行排序时不起作用,那么另一种解决方案是在自定义TableCellRenderer中实现它并覆盖:

Component getTableCellRendererComponent(JTable table,
                                        Object value,
                                        boolean isSelected,
                                        boolean hasFocus,
                                        int row,
                                        int column)

答案 1 :(得分:0)

此页面可能正是您要找的内容:http://www.chka.de/swing/table/row-headers/JTable.html

答案 2 :(得分:0)

如果您想要在执行水平滚动时(例如在Excel中)保持固定的行标题,则可以将两个JTable合并在一起。该组件向您展示了它的完成方式:

http://blue-walrus.com/2014/12/row-number-column-in-jtable/