Travamento JTable

5 respostas
J

Olá galera, consegui criar uma tabela que colori de acordo com o valor da célula, só que ela trava quando os dados vem do banco,
da minha consulta sql.
Quando coloco os dados estáticos roda, com a pesquisa feita pelo banco ñ.
Me ajudem ai por favor, esse é o codigo que colori.

public Component getTableCellRendererComponent(

JTable Grade,

Object value,

boolean isSelected,

boolean hasFocus,

int row,

int column

)

{

if(value == sim) { // JÁ TENTEI TBM COM EQUALS E ACONTECE O MESMO ERRO

setBackground(Color.RED);

} else {

setBackground(Color.GREEN);

}

setText(value.toString());
return this;
    
}

}

5 Respostas

lina

Oi,

Você precisará postar a sua consulta na base e como a tabela é alimentada ou como você adiciona o render na JTable.

OBS: Coloque sua codificação entre as tags CODE para melhor visualização.

Tchauzin!

J

[b]Esse é o metido que preenche meu JTable, é uma consulta normal que faço ao banco.
select * from tabela, campo1, campo2, etc e tals...
Obrigado por responder

private void preencerJTable(){
      
      DefaultTableModel modelo = (DefaultTableModel) tbPesquisa.getModel(); 
       
             modelo.setNumRows(0);  
            
        try {
                while(conexao.rs.next()){    
  
                modelo.addRow(new Object[]{conexao.rs.getString("CodProcessos"),
                                           conexao.rs.getString("Nome"),    
                                           conexao.rs.getString("DescDocumento"),
                                           conexao.rs.getString("DescAssunto"),
                                           conexao.rs.getString("Prioridade"),
                                           canivete.formataDataDB(conexao.rs.getString("Data")),
                                           conexao.rs.getString("DEPTO_ORIGEM"),
                                           conexao.rs.getString("Obs"),
                                           conexao.rs.getString("depto"),
                                           conexao.rs.getString("NomeRequerente"),
                                           conexao.rs.getString("Descricao")
                                           });
                                           }
                 
                 
        } catch (SQLException ex) {   
                Logger.getLogger(TelaProtocolo.class.getName()).log(Level.SEVERE, null, ex);
       }
fabim

Acho que tive um deja’vu agora do Vinigodoy descendo a lenha no fato de usar DefaultTableModel.

Implementa seu model cara: http://www.guj.com.br/articles/147

lina

Oi,

Trate Exception no lugar de SQLException. Quem sabe esta apresentando algum erro invisível aos olhos humanos.

Tchauzin!

J

Essa a minha classe que implementa a cor.

[code]class Colorir extends JLabel implements
TableCellRenderer {

public Colorir() {
setOpaque(true);
}

@Override
public Component getTableCellRendererComponent(
JTable Grade,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column
)
{
if (value.toString().equals("SIM")) {
setBackground(Color.RED);
} else {
setBackground(Color.GREEN);
}
setText(value.toString());

return this;

}
}

Criado 9 de novembro de 2011
Ultima resposta 9 de nov. de 2011
Respostas 5
Participantes 3