Bom to seguindo alguns exemplos aqui do GUJ mais garrei aqui no método nao sei como implementar, me ajudem?
[code]package com.mascarenhas.model.tables;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;
public class MyCellRenderer implements TableCellRenderer {
private Color cor1;
private Color cor2;
public MyCellRenderer(){
this.cor1 = Color.BLUE;
this.cor2 = Color.WHITE;
}
@Override
public Component getTableCellRendererComponent(JTable arg0, Object arg1,
boolean arg2, boolean arg3, int row, int column) {
// isso foi o que eu pensei quando row for par colore de uma cor quando nao de outra. Mas nao sei se estar certo
if(row % 2 == 0){
}
}
}[/code]
aqui como estou chamando a class mas tb nao se se esta certo 
[code]package com.mascarenhas.model.tables;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
import com.mascarenhas.view.Contrato1;
public class ColorirLinhaTable {
public void getColorir(){
TableCellRenderer cellRenderer = new MyCellRenderer();
int rowCount = Contrato1.jTable.getRowCount();
for(int i = 0; i < rowCount; i++){
TableColumn column = Contrato1.jTable.getColumnModel().getColumn(i); // aqui ele ta pegando a coluna nao e nao? Nao teria que pegar a linha?
column.setCellRenderer(cellRenderer);
}
}
}[/code]
[code]
São 2 lugares que você precisa verificar:
1 - Setar qual renderer vai utilizar:
objeto_tabela.setDefaultRenderer(Object.class, new SuaClasseTableCellRenderer());
2 - Modificar o renderer para mudar a cor de fundo.
if(row%2==0)
c.setBackground(new Color(240,240,240));
else
c.setBackground(new Color(255,255,255));
entendi sua segunda parte:
2 - Modificar o renderer para mudar a cor de fundo.
view plaincopy to clipboardprint?
if(row%2==0)
c.setBackground(new Color(240,240,240));
else
c.setBackground(new Color(255,255,255));
if(row%2==0)
c.setBackground(new Color(240,240,240));
else
c.setBackground(new Color(255,255,255));
a primeira nao tendi =/
Eu utilizo um método para fazer isso, geralmente eu preencho primeiro o Modelo do jTable e logo depois chamo este método:
private void addCor() {
// minha table se chama jTable1, se precisar troque o nome
jTable1.setDefaultRenderer(Object.class, new javax.swing.table.DefaultTableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(jTable1, value, isSelected, hasFocus, row, column);
// aqui você coloca a condição para pintar a linha, neste caso se o valor da coluna 4 da linha for menor que 2 (table.getValueAt(row,4), aqui table é o nome que está no parametro ali em cima, row é a linha atual da verificação)
if (Float.valueOf(table.getValueAt(row, 4).toString()) < 2) {
// nesses casos eu coloco o background como vermelho
setBackground(Color.RED);
// caso contrário nao tem background
} else { setBackground(null); }
return this;
}});
}
Espero que isso ajude 
Sei que é um pouco antigo este tópico mais estava quebrando a cabeça com o JTable, e este código funcionou pois quero usar com o Default sem precisar montar a tabela na mão com o TableModel pelo que estava entendendo com os outros fóruns o Default não pintaria a linha e tem poucos recursos, mas com este método addcor() pintou a linha sim.
valeu…
Se for pintar apenas celulas dependendo da condição.
Eu apanhei mas consegui… segue:
jTable1.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component cell2 = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
Object ref2 = table.getValueAt(row, jcoluna_setup);
Object ref = table.getValueAt(row, jcoluna_percentual);//coluna percentual
if (ref2 != null && Integer.parseInt(ref2.toString().substring(3, 5)) >= 05 && column == jcoluna_setup) {
cell2.setForeground(Color.WHITE);
cell2.setBackground(Color.red);
}
else if (ref != null && Integer.parseInt(ref.toString().substring(0, 2)) <= 75 && column == jcoluna_percentual) {
cell.setForeground(Color.WHITE);
cell.setBackground(Color.red);
}
else if (ref != null && Integer.parseInt(ref.toString().substring(0, 2)) >= 130 && column == jcoluna_percentual) {
cell.setForeground(Color.WHITE);
cell.setBackground(Color.blue);
JOptionPane.showMessageDialog(rootPane,"Percentual acima de 130%, você tem certeza disso? ");
}
else {
cell2.setForeground(Color.BLACK);
cell2.setBackground(Color.WHITE);
}
return this;}
});