我通过自定义表模型将数据库加载到JTable中。我想要一个列(应该是第一列),它只显示显示行号(即它不依赖于任何数据(或排序),而只是屏幕上的行号在1)。这些“行标题”应该像行标题一样变灰。
知道怎么做吗?
由于
答案 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合并在一起。该组件向您展示了它的完成方式: