java – 用另一种颜色在jtable中选择行的颜色

我使用此代码为不同颜色的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);
}

代替

上一篇:javascript – 如何用元素包装/环绕突出显示的文本


下一篇:c – CRichEditCtrl在获得焦点时选择所有文本