Eu gostava de pintar o background de uma row numa jtable?
Para fazer um efeito de zebra, alternado as cores.
Se alguém soubesse dizer…
Agradecia
Eu gostava de pintar o background de uma row numa jtable?
Para fazer um efeito de zebra, alternado as cores.
Se alguém soubesse dizer…
Agradecia
Oi,
Algo do tipo:
final JTable tabela = new JTable(conteudo, colunas){
public Component prepareRenderer(TableCellRenderer renderer,
int rowIndex, int vColIndex) {
Component c = super.prepareRenderer(renderer, rowIndex, vColIndex);
if (rowIndex % 2 == 0 && !isCellSelected(rowIndex, vColIndex)) {
c.setBackground(Color.yellow);
} else {
c.setBackground(getBackground());
}
return c;
}
};
Tchauzin!
Sim exacto!!! Obrigado
jTable1 = new javax.swing.JTable(){
public Component prepareRenderer(TableCellRenderer renderer,
int rowIndex, int vColIndex) {
Component c = super.prepareRenderer(renderer, rowIndex, vColIndex);
if (rowIndex % 2 == 0 && !isCellSelected(rowIndex, vColIndex)) {
c.setBackground(Color.yellow);
} else {
// If not shaded, match the table's background
c.setBackground(getBackground());
}
return c;
}
};
ok
Oi,
Teria como passar uma classe de exemplo?
Tchauzin!
Obrigado, mesmo… Consegui resolver!!
Oi,
Se o seu tópico foi respondido e você está satisfeito, segue:
Tchauzin!
[quote=lina]Oi,
Se o seu tópico foi respondido e você está satisfeito, segue:
Tchauzin![/quote]
tenho o mesmo problema, mas não consigo pintar as linhas da tabela em modo zebrado
Segue a classe:
class MyCellRenderer extends DefaultTableCellRenderer {
private Color whiteColor = new Color(254, 254, 254);
private Color alternateColor = new Color(204, 204, 204);
private Color selectedColor = new Color(61, 128, 223);
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean selected, boolean focused, int row,
int column) {
super.getTableCellRendererComponent(table, value, selected, focused, row, column);
Color bg;
if (!selected) {
bg = (row % 2 == 0 ? alternateColor : whiteColor);
} else {
bg = selectedColor;
}
setBackground(bg);
setForeground(selected ? Color.white : Color.black);
/*
* if (value instanceof ImageIcon) { setIcon((ImageIcon) value);
* setText(""); } else setIcon(null);
*/
return this;
}
}