我使用此代码为不同颜色的ly jtable行着色:
table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer()
{
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
final Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
c.setBackground(row % 2 == 0 ? Color.WHITE : Color.LIGHT_GRAY);
return c;
}
});
它有效,现在我想将用户选择的行着色为与上述颜色不同的另一种颜色:
table.setSelectionBackground(Color.RED);
但它做了什么
我怎样才能做到这一点?
先感谢您
解决方法:
渲染器将覆盖DefaultTableCellRenderer应用的颜色更改
试试像……
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (!isSelected) {
c.setBackground(row % 2 == 0 ? Color.WHITE : Color.LIGHT_GRAY);
}
代替