JTable DefaultCellRenderer - Como NÃO mudar a cor do fundo..? [RESOLVIDO]

4 respostas
wellington7

Eu criei meu próprio renderer para gerar uns desenhos… mas gostaria que a cor do fundo e a borda do continuassem naquela cor padrão… Alguém tem alguma idéia de como faço isso?

Tentei até encontrar um método get que me dissesse qual a cor do fundo antes de aplicar meu cellRenderer, mas não encontrei…

4 Respostas

RobsonFagundes

fiz assim wellington7

// Altera as Cores das tabelas
    class corTabela extends DefaultTableCellRenderer {
        public Component getTableCellRendererComponent(JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            if( !isSelected ) {
                Color c = table.getBackground();
                if( (row%2)==0 && c.getRed()>20 && c.getGreen()>20 && c.getBlue()>20 ) {
                    //setBackground(new Color(c.getRed()-20, c.getGreen()-20, c.getBlue()-0));
                    setBackground(new Color(247,250,251));
                    //setForeground(new Color(255,0,0));
                } else {
                    //setBackground(c);
                    setBackground(new Color(255,255,255));
                    //setForeground(new Color(255,255,0));
                }
            }
            return super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
        }
    }

Tenta ai no meu caso fungo ok
t+ Abraços

RobsonFagundes

há no contrutor …

//seta as cores da tabela
        corTabela mtr = new corTabela();
        jtListaMun.setDefaultRenderer(Object.class, mtr);

blz t+

wellington7

Blz! Funcionou! Valeu!

RobsonFagundes

blz intaum… t+

Criado 4 de maio de 2007
Ultima resposta 4 de mai. de 2007
Respostas 4
Participantes 2