JTable, Model e renderer

3 respostas
S

Tenho uma renderer que para a minha jtable junto com a model que tenho q setar icones.
Estou setando os icones dentro da propria renderer, pegando o valor de uma matriz de object.
Caso seja uma Color.class, ele da um setBackgroud e seta a cor
mas quando e imagem, tento fazer o seguinte
setIcon((Icon)this.tabuleiro[x][y])
e retorna ele mesmo
return this

So que o icone esta vindo em preto e branco
como posso resolver isso?

3 Respostas

doug

Olá
Como vc esta capturando esse icon. é new ImageIcon(<path ou url>)?
Acho que o problemas esta nesta parte… esse é meu palpite…

Espero ter ajudado
Flwsss

S

Bem gente, resolvi o problema, mas entei em outro que tem tudo a ver

Tenho o seguinte metodo

private ImageIcon getCasaProtegidas(String arquivo, Color cor) throws IOException{

this.file = new File(arquivo);

if(file.exists()){

this.image = ImageIO.read(file);

this.graphics = this.image.createGraphics();

this.graphics.setBackground(cor);

return new ImageIcon(this.image);

}else{

throw new IOException(Imagem +this.file.getName()+ não foi encotrada);				

}

}

Ele seta essa imageIcon que retorna do metodo diretamente em uma matriz
Essa matriz e buscada pela renderer que pinta as celulas
So que tem um problema
Como podem ver, tem uma Color como atributo. Ok, lindo e maravilhoso, e pelo menos eu tento fazer o seguinte, usar o graphics2s para colocar fundo na imagem, mas quando jogo para a renderer e ela seta na jframe, ele n pega a cor, onde errei?

Como sao atriburos deixe eu dizer

file é uma File //podiamos ter deduzido isso sozinhos ne, mas tudo bem
image é uma BufferedImage
graphics e uma graphics2d

Se puderem me ajudar, agradeço

S

Ok, mudei tudo di novo hehehe

Removi o metodo e passei a imagem direto pra renderer, la ela e setada pela jlabel.
Mas deu outro problema, a imagem e pintada em cima de uma celula que ja tinha cor, no caso, era Color.light_gray
Mas quando eu seto a imagem em cima, ele fica mais claro, digo, o cinza fica mais claro, deferente das outras celulas, alguem sabe pq?

Criado 20 de abril de 2009
Ultima resposta 21 de abr. de 2009
Respostas 3
Participantes 2