我在一个框架中有一个JTable
,它经常被不同的线程更新。我正在寻找改变JTable
单元格背景颜色的方法,无论其内容如何,如
JTable.setColorAt(Color.YELLOW, 0, 0)
有这样的东西存在吗?如果没有,有没有办法为像我这样的初学者写这样的东西?
请帮助.............
答案 0 :(得分:4)
定义您自己的单元格渲染器类,为此单元格设置背景颜色
public class MyCellRenderer extends javax.swing.table.DefaultTableCellRenderer {
public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int row, int column) {
java.awt.Component cellComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
cellComponent.setBackground(java.awt.Color.YELLOW);
return cellComponent;
}
}
并将其附加到您的表格
MyCellRenderer mcr = new MyCellRenderer();
for (int columnIndex = 0; columnIndex < myTable.getColumnCount(); columnIndex ++) {
myTable.getColumnModel().getColumn(columnIndex).setCellRenderer(mcr);
}