JTable突出显示更新的特定表

时间:2012-02-28 15:10:20

标签: java swing jtable

我无法在任何地方找到答案 - 我相信这很简单,但我很困惑!

我希望在值更改时更改单元格背景的颜色。 我在下面写了一个单元格渲染器:

public class CyanTableCellRenderer extends DefaultTableCellRenderer {

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

    cell.setBackground( Color.CYAN );
    return cell;
}
}

我想从侦听器中的事件传递单元格的值 - 以突出显示单元格。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

1)我不明白i have a tableModelListener that works.与Renderer有什么关系,也许你必须提到

2)您可以preparedRenderer使用example

答案 1 :(得分:2)

根据@mKorbel的建议,prepareRenderer()可以对任何选定的渲染器应用更改。或者,您可以根据渲染器的isSelected参数调整颜色。

if (isSelect) {
    this.setBackground(Color.cyan);
}

如果您只想更改所选单元格的默认背景颜色,请在程序的早期更改UIManager属性Table.selectionBackground。这将在执行期间影响所有表。

UIManager.put("Table.selectionBackground", Color.cyan);