Pessoal, sou novo no Java e após alguns materiais e exemplos consegui zebrar meu jtable. Contudo, já usei pelos menos uns 4 códigos diferentes e não consigo fazer a primeira coluna da jtable ficar zebarada, conforme anexo. O restante do processo está funcionando perfeitamente. Agradeço a ajuda.
Zebrar JTable não pega primeira coluna
D
4 Respostas
Coloque o código que você tá usando pra fazer a coloração.
D
Boa tarde nanoverso!
Segue o código, criei uma classe TableCellRenderer e coloquei o seguinte:
package table;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
public class UsuarioTableCellRenderer implements TableCellRenderer {
public static final DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component renderer = DEFAULT_RENDERER.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
((JLabel) renderer).setOpaque(true);
Color foreground, background;
if (row % 2 == 0) {
foreground = Color.BLACK;
background = Color.white;
} else {
foreground = Color.BLACK;
background = Color.lightGray;
}
renderer.setForeground(foreground);
renderer.setBackground(background);
return renderer;
}
}
Após chamo o método getTableCellRendererComponent no meu método onAtualizar, responsável por atualizar a listagem do Jtable.
public void onAtualizar(){
usuarioList = new UsuarioDAO().findALL();
if (usuarioList != null){
tblDados.setModel(new UsuarioTableModel(usuarioList));
tblDados.setRowSelectionInterval(0, 0);
TableCellRenderer renderer = new UsuarioTableCellRenderer();
tblDados.setDefaultRenderer(Object.class, renderer);
}
}
Desde já agradeço.
Infelizmente ainda não tenho experiência suficiente pra alterar o view do MVC da JTable, mas encontrei essa discussão aqui mesmo no GUJ que talvez lhe ajude:
http://www.guj.com.br/java/63893-colorir-linha-especifica-em-jtable
D
nanoverso, vou analisar o código.
Obrigado.
Criado 28 de setembro de 2014
Ultima resposta 29 de set. de 2014
Respostas 4
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo