Como colorir a linha inteira de uma Jtable

5 respostas
F

Boa tarde…

Como colorir a linha inteira do Jtable, usando a que o IDE fornece ela ja faz automático, mas como implementar em um modelo que eu mesmo desenvolvi?

att

Felipe

5 Respostas

F
Alguem?

Sendo mais claro, por exemplo eu fiz um metodo que quando eu clicar ele seleciona a celula e pinta ela, mas eu queria que fizesse em todas as colunas referente a linha que eu cliquei…

segue a classe…

public class PadraoGridView extends DefaultTableCellRenderer {

<a class="mention" href="/u/override">@Override</a>

public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column) {

// component will actually be this.

Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

component.setBackground(row%2==0 ? Color.YELLOW : Color.LIGHT_GRAY);

if(isSelected){

component.setBackground(column%2==0 ? Color.red : Color.blue);

}
return component;



}

Teria uma forma de selecionar a linha inteira e nao só a celula que eu cliquei ficar colorida?

}

M

Olá

Bom, eu nunca fiz, mas por que você não seleciona todas as colunas na hora de modificar a cor?

F

Então como faço para selecionar todas as colunas??

antes do if do meu código ele aparece com efeito zebrado em todas as colunas, ou seja a primeira linha fica cinza em todas as colunas a segunda linha de vermelho em todas colunas a terceira volta a ser cinza e assim por diante, como q eu posso fazer ao clicar ele selecionar todas as colunas q eu tenho d uma mesma linha?

Obrigado

F

?

O

Ola Felipeti,
vc está colorindo celula a celula usando o cellrender. penso que vc pode fazer assim: ou usar um column render para controlar toda a coluna ou no listerner que capta a seleção de uma celula ainda dentro da tabela, pegar qual o número da coluna e daí ir para o seu cellrender.- mas aí seria celula a celula. e não sei como vc fez, se usou um listener para captar a seleção ou não. Apenas aonde quer que vc pegue a celula selecionada, pegua o número da linha ou da coluna que vc quer pintar e depois vc pode 1. pintar todas as celulas com um render ou outro controlador da aparencia da coluna passando apenas a coluna como parâmetro, 2. chamar uma a uma o método do cellrender que muda a cor, para cada uma das celulas da coluna.
não sei se o que disse foi útil.

Criado 6 de novembro de 2012
Ultima resposta 7 de nov. de 2012
Respostas 5
Participantes 4