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.
Coloque o código que você tá usando pra fazer a coloração.
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
nanoverso, vou analisar o código.
Obrigado.