PDA

View Full Version : [Java] Confronto JTable


bobby1112
18-02-2010, 11:54
salve ragazzi sto usando le Jtable da poco e ho dato un 'occhiata a

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

ho due JTable devo confrontare il contenuto delle tabelle uno per uno se il contenuto è diverso le celle devono colorarsi di rosso mi potete dare un 'idea


Grazie

nuovoUtente86
18-02-2010, 12:03
intendi confrontare le tuple, in posizione medesima?

bobby1112
18-02-2010, 13:23
si, cioè devo confrontare la prima cella della tabella1 con la prima cella della tabella2 se sono diversi entrambe le celle devono essere colorate in rosso.

PGI-Bis
18-02-2010, 23:34
Puoi farlo creando un tuo TableCellRenderer .

Il renderer ha un metodo, getTableCellRendererComponent, con una sfilza d argomenti.

Praticamente l'aspetto del componente restituito da quel metodo è ciò che la tabella usa per disegnare le celle.

Se estendi DefaultTableCellRenderer e sovrascrivi getTableCellRendererComponent puoi controllare il background con una cosa tipo:

@Override
public Component getTableCellRendererComponent(...
Component c = super.getTableCellRendererComponent(...
c.setBackground(Color.YELLOW);
return c;
}

Tu avrai bisogno di interrogare l'altra tabella per decidere il colore quindi la tua sottoclasse di DefaultaTableCellRenderer avrà un riferimento a quella tabella (o al suo modello) e nella sovrascrittura d getTableCellEccetera farai i controlli opportuni ma, a parte quello, la storia è tutta qui.