3

このコードを使用して、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);

しかし、それは何でもしますどうすればこれを達成できますか?

前もって感謝します

4

2 に答える 2

5

レンダラーは、によって適用された色の変更をオーバーライドしていますDefaultTableCellRenderer

次のようなものを試してください...

Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (!isSelected) {
    c.setBackground(row % 2 == 0 ? Color.WHITE : Color.LIGHT_GRAY);
}

その代わり

于 2013-01-22T00:00:46.600 に答える