Eu faço com que apos o usuario selecionar a linha ela fica com a cor laranja, até ai tudo bem…
a linha está ficando laranja, porem fica apenas uma linha da jtable…
porem se o usuario selecionar outra linha… a linha anterior que estava laranja passa a fica branca novamente …
e a ultima linha que o usuario selecionou fica laranja…
mas eu gostaria que conforme o usuario vai escolhendo a linha elas vao ficando laranja…
eu chamo esse metodo assim:
alguem tem alguma dica de como eu posso fazer isso?
Então você precisa passar o índice de todas as linhas selecionadas:
[code]
private void mudaCorItemCancelado(int[] linhas){
//Cria um set com todas as linhas
final Set<Integer> linhaSet = new HashSet();
for (int linha : linhas) {
linhaSet.add(linha);
}
//Define o renderer
coTableListaCompras.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
setBackground(linhaSet.contains(row) ? Color.ORANGE : null);
return this;
}
});
}[/code]
saninaimayer
ali diz que se o resto das linhas tem que ser default…
se não é a que eu to querendo mudar a cor, as outras vao ser brancas … e tal…
ali eu não poderia mudar…
e…
criador
Pois é… ainda bem que a solução do Vini deu certo…
se eu apenas tirar o
else {
setBackground(null);
}
return this;
A minha jTable toda fica em laranja…