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;
    }
}