一切都好吗?
我的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;
}
}
Run Code Online (Sandbox Code Playgroud)
实现了我的问题?
有人能帮帮我吗?
非常感谢你.
为目标列设置自定义渲染器:
table.getColumnModel().getColumn(COLUMN_INDEX).setCellRenderer(new PriorityCellRenderer());
Run Code Online (Sandbox Code Playgroud)在getTableCellRendererComponent()
验证列索引中if(column == COLUMN_INDEX)