java - 在 JTable 中只更改一个单元格的颜色

标签 java jtable cell background-color

我知道我可以用这段代码设置整个列的背景颜色,但我怎样才能为每个单元格设置不同的颜色呢?我有一个包含两列和一到一千行的表格。

words.getColumn("columnNameHere").setCellRenderer(
    new DefaultTableCellRenderer() {
        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            setText(value.toString());
            setBackground(Color.RED);
            return this;
        }
    }
);

最佳答案

行号和列号被传递到getTableCellRendererComponent。所以你可以这样做:

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    setText(value.toString());
    if (row==12 && column==2) {
        setBackground(Color.RED);
    }
    return this;
}

关于java - 在 JTable 中只更改一个单元格的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12027461/

相关文章:

java - 带有按钮的单元格在java中不被视为选定的单元格

ios - 滚动直到 uicollectionview 的最后一个单元格

ios - 删除特定部分中的 UITableView 单元格

dom - 在Dart中查询表格中的单元格

java - Spring数据Mongodb聚合排序顺序

java - 如何更改 Material 设计抽屉导航中汉堡图标的颜色

java - 将 ActionListener 添加到 JTable 的列标题

java - HtmlUnit 点击后没有获取内容

java - 在 Couchbase 中调用删除文档(带分页)时的 Spring Data "TimeoutException"

java - 本例中如何使用 SwingWorker