Colorir linha especifica em JTable  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
keller
GUJ Master
[Avatar]

Membro desde: 12/11/2003 16:24:00
Mensagens: 1817
Localização: Auckland - NZ
Offline

Ola,
Seguinte tenho um caso em que quando o usuario fizer uma retirada total de dinheiro a celula deve ser desabilitada e colorida de outra cor.
Ja tentei alterar o renderer em runtime mas nao deu certo, simplesmente nao acontece nada..

Alguma ideia ?
Valeu!

Guilherme I. Keller (Gui)
Diploma in Web Development and Desktop Publishing
SCJA | SCJP | SCWCD | SCBCD | CSM
"Test it, before it test you."
http://flickr.com/guikeller
[WWW] [MSN]
keller
GUJ Master
[Avatar]

Membro desde: 12/11/2003 16:24:00
Mensagens: 1817
Localização: Auckland - NZ
Offline

Linha 0 , Coluna 2

Ok, ele pinta todas as linhas, nao apenas a linha 0.


Aqui nao acontece nada.

Ideias?

Guilherme I. Keller (Gui)
Diploma in Web Development and Desktop Publishing
SCJA | SCJP | SCWCD | SCBCD | CSM
"Test it, before it test you."
http://flickr.com/guikeller
[WWW] [MSN]
Mantu
GUJ Ranger
[Avatar]

Membro desde: 27/03/2006 09:05:16
Mensagens: 961
Localização: São Paulo/SP
Offline

O problema é que você deve implementar um TableCellRenderer. Eu fiz um testezinho tosqueira aqui, e creio que seja o que você tá querendo:
Aí vai o renderer:

E agora a classe de teste


Divirta-se!

[]'s
Mantu

"Vou lançar o 'Caguei'. Caguei para o 'Cansei'". Luciano Camargo
"O povo votou contra a opinião pública". Um certo jornalão da mídia golpista, a respeito da vitória de um certo cadidato a presidente do Brasil.

[Email] [MSN] [ICQ]
keller
GUJ Master
[Avatar]

Membro desde: 12/11/2003 16:24:00
Mensagens: 1817
Localização: Auckland - NZ
Offline

Mantu wrote:
O "problema" é que..


Ola,

Cara eu tenho um CellRenderer aqui


Que ele ja esta aplicado na table, e conforme a necessidade eu seto outros renderers+editors, como para colunas com checkbox, combobox, campo de data, campo cpf, etc..

Porem esse e um caso em que eu gostaria de uma solucao mais elegante do que sobrescrever o CellRenderer.

O grande problema e que a JTable trabalha com colunas.
Se voce pegar a implementacao do metodo getCellRenderer(row, col) voce ve que ele desconsidera a linha e leva em consideracao apenas coluna.

Ainda procuro uma solucao mais elegante que sobrescrever o CellRenderer imagine se cada caso eu terei que escrever um CellRenderer ficara realmente bem complicado o desenvolvimento..

Mas valeu pela ajuda!

Guilherme I. Keller (Gui)
Diploma in Web Development and Desktop Publishing
SCJA | SCJP | SCWCD | SCBCD | CSM
"Test it, before it test you."
http://flickr.com/guikeller
[WWW] [MSN]
keller
GUJ Master
[Avatar]

Membro desde: 12/11/2003 16:24:00
Mensagens: 1817
Localização: Auckland - NZ
Offline

Grande Mantu!
Depois de horas apanhando pra JTable olhei pro meu ColorCellRenderer e veio a luz!



Usage:


Perfeito! Valeu!

[up]
Nao funciona em multiplas linhas


Ele pinta apenas a linha 2..
[/up]

[up2]
Agora funciona corretamente!

No ColorCellRenderer: private int[] rows;


Usage:

[/up2]

Funcionando!

Guilherme I. Keller (Gui)
Diploma in Web Development and Desktop Publishing
SCJA | SCJP | SCWCD | SCBCD | CSM
"Test it, before it test you."
http://flickr.com/guikeller
[WWW] [MSN]
Mantu
GUJ Ranger
[Avatar]

Membro desde: 27/03/2006 09:05:16
Mensagens: 961
Localização: São Paulo/SP
Offline

Disponha!
Eu não sei vocês, mas eu acho muito loco essa estrutura MVC do Swing! Fica tudo separadinho, arrumadinho e tal! Muito massa!

[]'s
Mantu

"Vou lançar o 'Caguei'. Caguei para o 'Cansei'". Luciano Camargo
"O povo votou contra a opinião pública". Um certo jornalão da mídia golpista, a respeito da vitória de um certo cadidato a presidente do Brasil.

[Email] [MSN] [ICQ]
dtondo
Entusiasta Java

Membro desde: 30/04/2008 13:17:37
Mensagens: 24
Offline

Muito obrigado Mantu. Usando a sua classe consegui pintar as linhas perfeitamente
BrunoNave
Thread.start()

Membro desde: 01/04/2008 19:31:27
Mensagens: 43
Offline

Galera tou pecisando pintar algumas colunas da minha JTable mas apenas após a escolha de um item de uma jcombox.
Sera que alguem me pode ajudar?

Cumprimentos e Obrigado
RicardoAS
Smalltalk

Membro desde: 15/12/2008 08:34:14
Mensagens: 2
Offline

Consegui colorir as linhas perfeitamente inclusive trocar a cor em tempo de execução,
mas não estou conseguindo remover linhas, inclusive depois de renderizar a tabela, não consigo enviar textos para o console inclusive,
com System.out.println, isso não é o problema, mas gostaria de compreender.
O problema mesmo é eu não conseguir remover a linha, em outra tabela sem esse renderer a linha abaixo funciona:

tmOmissos.removeRow(tbVendas2.getSelectedRow());

porque na tabela colorida não???
vale lembrar que ela esta dentro de um JtabbedPane.

Sei que o post é antigo, tomara que leiam, e por favor me ajudem.
_Zell_
Debugger
[Avatar]

Membro desde: 21/07/2010 15:44:12
Mensagens: 66
Offline

Olá pessoal, a pergunta vai acho que mais especificamente para o Keller.

Seguinte...
Eu consegui colorir as minhas células direitinho. Porém as linhas pretas da grid desaparecem. Mesmo usando o setCridColor(Color color) a bendita crid ainda não aparece se pinto as células. Mais alguém teve esse problema ?

Keller, na sua grid isso também acontece ?

Desde já obrigado pessoal!
carlinhoscomp
Entusiasta Java
[Avatar]

Membro desde: 20/08/2007 18:47:30
Mensagens: 24
Localização: Bom Despacho
Offline

Aew Turma blz?

Seguinte, tenho uma tabela que mostra um extrato de conta (data, historico, valor).
Estou, tentando deixa a linha colorida de vermelho onde o valor for negativo.
Mas só consigo colorir a coluna valor.
Como faço para deixar a linha inteira vermelha onde o valor for negativo?

Segui o codigo:





Opa, consegui!!!

Foi só capturar o valor da coluna e comparar se é negativo.
Ficou assim:

This message was edited 1 time. Last update was at 09/11/2011 15:22:40

 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team