Erro ao colorir uma coluna de um JTable

4 respostas
F

Boa Noite, estou tentando colorir uma coluna de uma jtable, consegui um método aqui mesmo no guj, so que quando as aplico ao inves de colorir somente a coluna desejada, ele esta colorindo tudo menos a celula onde esta a edicao. Alguem pode me ajudar? Segue o codigo.:

private void colorirTabela() {
        tabelaRequisicao.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
            @Override
            public Component getTableCellRendererComponent(JTable table, Object value,
                    boolean isSelected, boolean hasFocus, int row, int column) {
                super.getTableCellRendererComponent(table, value, isSelected,
                        hasFocus, row, column);
                if (column == 3) {
                    if (row == tabelaRequisicao.getRowCount() - 1 && column == 3) {
                        setBackground(Color.GREEN);
                    } else {
                        if ((row % 2) == 0) {
                            setBackground(new Color(136, 136, 255));
                        } else {
                            setBackground(new Color(136, 136, 220));
                        }
                    }
                }
                return this;
            }
        });
    }

Obs.: estou chamando o metodo no construtor
Obrigada!

4 Respostas

ViniGodoy

O que seu renderer deveria colorir?

F

Olá Vini, deveria colorir a coluna 3 inteira com a cor [136, 136, 255] e a célula que está sendo editada a cor Verde…
Obrigada!

ViniGodoy

Para alterar a cor do editor da célula, você deve alterar o TableCellEditor, e não o Renderer.

O renderer serve só para as cores das coisas sendo exibidas.

F

Boa noite, e como posso fazer isso vini? Voce pode me passar algum exemplo?
Obrigada

Criado 4 de junho de 2014
Ultima resposta 5 de jun. de 2014
Respostas 4
Participantes 2