Olá amigos sei que é um assunto já falado a muito tempo sobre JTable zebrada mas a questão é que eu estou usando o Projeto Towel como TableModel
e ao invocar a classe para deixar a JTable Zebrada ela fica da seguinte forma
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 MeuRenderer 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;
}
}
final JTable table = new JTable();
table.setShowGrid(false);
table.setAutoResizeMode(table.AUTO_RESIZE_OFF);
//
// Resizer expandir = new Resizer();
// expandir.fitAllColumns(table);
// final TableFilter filtro = new TableFilter(
// table.getTableHeader(), tableModel);
table.setModel(tableModel);
table.getColumnModel().getColumn(0).setPreferredWidth(50);
table.getColumnModel().getColumn(1).setPreferredWidth(100);
table.getColumnModel().getColumn(2).setPreferredWidth(50);
table.getColumnModel().getColumn(3).setPreferredWidth(250);
TableCellRenderer renderer = new MeuRenderer();
table.setDefaultRenderer(Object.class, renderer);
gostaria que ela ficasse toda zebrabrada e quando eu clicar na linha ela deixe a mesma diferente para saber que essa e a linha selecionada..
agradeço desde de já os amigos...
imagem da JTable
[img]http://www.kernelautomacao.com/JTable.png[/img]


