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

标签 java swing jtable

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

知道怎么做吗?

谢谢

最佳答案

您使用的是什么 TableModel?

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

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)

关于Java Swing - 添加行 # 列(行标题)到 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2805789/

相关文章:

java - 如何读取 JTabbedPane 中面板的组件并将结果添加到组件中

java - 如何禁用 JTextPane 中特定单词的复制和粘贴?

swing - JTable 行数限制

java - 有没有办法截取当前运行的 Java 桌面应用程序的屏幕截图并将其作为视频传输?

java - 使用 JTable 和 JModel 时遇到问题

java - 更改 Jtable 中特定单元格的字体颜色

Java列表类型参数

java - 在 Docker 中对端点进行 REST 调用

java - 为什么饥饿单例模式是线程安全的

java - 绘制多个实例后 JPanel 绘制速度变慢