esse codigo acessa uma coluna inteira de um jtable
DefaultTableModel modelo = new javax.swing.table.DefaultTableModel(
new Object [][] { },
new String [] {"Código", "Nome", "Estado", "CPF", "Data", "Foto"}
);
tabela.setModel(modelo);
tabela.getColumnModel().getColumn(5).setCellRenderer(new DefaultTableCellRenderer(){
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column){
this.setOpaque(true);
this.setText(value.toString());
this.setBackground(Color.GREEN);
troca o texto a cor da linha da coluna inteira mas quero trocar somente a cor de uma unica celula nessa coluna alguem opina ai ???
alguem
tentei fazer assim
tabela.getModel().setValueAt(cli.getCpf_Cliente(), 1, 5);
setValueAt(objeto, linha, coluna) onde quer setar porem trava todo o programa nao da erro nenhum e trava tudo
Então… o que vc acha de fazer isso aqui?
tabela.getColumnModel().getColumn(5).setCellRenderer(new DefaultTableCellRenderer(){
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column){
this.setOpaque(true);
this.setText(value.toString());
this.setBackground(Color.GREEN);
- Crie uma classe que estenda de DefaultTableCellRenderer.
class YourClass extends DefaultTableCellRender {
...
}
2) Adicione 3 atributos.
class YourClass extends DefaultTableCellRender {
int row=0;
int col=0;
Color color = null;
...
}
3 Adicione a instancia de sua classe na Table.
tabela.getColumnModel().getColumn(5).setCellRenderer(instanceOfYourClass);
4) No metodo getTableCellRendererComponent vc utiliza estes atributos para alterar a cor da célula no próximo refresh.
- Para alterar a cor, você obtem a instancia da classe que vc gerou e altera os atributos.
Espero ter ajudado.
flws
cara na verdade queria coloca uma foto ali na coluna foto entendeu porem ele somente coloca o icone na primeira linha e depois coloca nas linhas restantes nao consigo de maneira nenhuma fazer o negocio funcionar
tabela.getColumnModel().getColumn(5).setCellRenderer(new DefaultTableCellRenderer(){
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column){
this.setOpaque(true);
this.setText(value.toString());
this.setIcon(clienteD.getImagen(2));
return this;
}
});
clienteD.getImagen(2));
essa funcao retorna o icone que esta no banco retorna um ImageIcon porem ele seta toda a coluna e eu quero setar EXEMPLO
cliente 1 foto dele
cliente 2 foto dele
cliente 3 foto dele assim por diante