1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Jtable não seleciona célula com DefaultTableCellRenderer

Bom dia pessoal, eu estou com um problema de seleção em um jtable. estou usando um modelo para essa tabela, e um cellrenderer para uma coluna especifica, mas quando seleciono uma linha na tabela a coluna que setei o cellrenderer não fica selecionada. tentei setar o background e o foreground desta forma:

https://www.filepicker.io/api/file/fpjK1RzoTAqxQMG2nUbn

@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, booean hasFocus, int row, int column) {
    if(column == 1) {
        if(isSelected) {
            setForeground(table.getSelectionForeground());
            setBackground(table.getSelectionBackground());
        } else {
            setForeground(table.getForeground());
            setBackground(table.getBackground());
        }
        return getValorCelula(value);
    }
    return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); 
}

private Component getValorCelula(Object value) {
    int index = (int) value;
    JLabel label = new JLabel();
    label.setHorizontalAlignment(JLabel.CENTER);
    label.setVerticalAlignment(JLabel.CENTER);
    label.setText("lâmpada");
    label.setIcon(new ImageIcon(getClass().getResource("/img/icone.png")));
    return label;
}

aplicando o renderer desta forma:

tabelaRegras.getColumnModel().getColumn(1).setCellRenderer(new MeuCellRenderer());

tentei tambem setar o background com Color.RED mas não pintou na tabela. Se alguem puder ajudar agradeço muito.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java swing ou faça a sua própria pergunta.