RE:JTable con filas distintas
HOLA. EL metodo quedaria mas o menos asi
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column){
JLabel etiqueta = new JLabel();
if(table.getRowCount()>0){
if(isSelected){
etiqueta.setForeground(Color.white);
etiqueta.setBackground(new Color(49,106,196));
}
else{
if(column == 2){
etiqueta.setForeground(Color.white);
etiqueta.setBackground(Color.red);
}
}
}
etiqueta.setOpaque(true);
etiqueta.setText(value.toString());
}
return etiqueta;
}
ese es un codigo que utilizamos en algun momento. Fijate que al definir un tablecelrenderer tu tienes el control de como se pintan las celdas. Este metodo lo que hace es ir pintando celda por celda.
Por ejemplo si quieres pintar la fila 3 tendras que ir preguntando si es la fila en cuestion y si es asi pintar la celda. Como dijiste que primero para que se pueda pintar una fila tiene que cumplir con una condicion, podrias hacer lo siguiente. Primero te fijas si la fila supongamos 4 tiene que pintarse, si es asi envia el numero de fila a la clase que contiene el metodo getTableCellRendererComponent y luego dentro del metodo getTableCellRendererComponent preguntas si la celda que esta por pintar es de la fila que acabas de pasar por parametro, si es asi pintas.
Otra forma podria ser que llenes un vector con todas las filas que tienes que pintar. Luego recien defines el tablecellrenderer y luego en el metodo getTableCellRendererComponent vas recorriendo ese vector y haciendo la pregunta para que puedas pintar
Bueno espero que te sirva. Cualquier cosa pregunta