一切都好吗?
我的java应用程序中有以下表格。 根据状态,他将线条设为某种颜色,我将在下面的代码中显示。
我想要的是只有第一列是彩色的,其他列想要以默认颜色显示。
public class PriorityCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
//if (Integer.valueOf(1).equals(table.getValueAt(row, 1)) && 0 == column) && 9 < column)
if (String.valueOf(1).equals(table.getValueAt(row, 0))) {
setForeground(Color.BLUE); // or background
}
if (String.valueOf(2).equals(table.getValueAt(row, 0))) {
setForeground(Color.GREEN); // or background
}
if (String.valueOf(3).equals(table.getValueAt(row, 0))) {
setForeground(Color.YELLOW); // or background
}
if (String.valueOf(4).equals(table.getValueAt(row, 0))) {
setForeground(Color.RED); // or background
}
return this;
}
}
实现了我的问题?
有人可以帮我吗?
非常感谢。
答案 0 :(得分:5)
为目标列设置自定义渲染器:
table.getColumnModel().getColumn(COLUMN_INDEX).setCellRenderer(new PriorityCellRenderer());
在getTableCellRendererComponent()
验证列索引if(column == COLUMN_INDEX)