2

JTableにブール列があるため、各セルにチェックボックスがあります。背景色を変更するためにセルレンダラーを設定しようとすると、セルのチェックボックスが値 (true、false) に置き換えられます。

私のセルレンダラー:

class BackgroundTableCellRenderer extends DefaultTableCellRenderer {

    public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int col) {

        Component c = super.getTableCellRendererComponent(table, value,
                isSelected, hasFocus, row, col); 
        if(row%2 == 0)
        {
            Color bColor = Color.decode("#EFF2ED");
            c.setBackground(bColor);  
        }
        else
            c.setBackground(Color.white);

        return c;
    }
}

レンダラーを次のように設定しました。

data_table.setDefaultRenderer(Boolean.class, new BackgroundTableCellRenderer());
4

1 に答える 1