[RESOLU]JTable : colorier ligne ou cellule selon critère de provenance

JTable : colorier ligne ou cellule selon critère de provenance [RESOLU] - Java - Programmation

Marsh Posté le 17-06-2009 à 10:27:54    

Bonjour,
 
Voici mon problème, je construit un JTable qui contient des données, ces données viennent de plusieurs sources différentes mais sont parser de la même manière.
Si nécessaire je peut ajouter un attribut à l'objet qui me donne la source mais comment l'utiliser par la suite?
 
Quand j'affiche toutes ces données dans mon JTable, je souhaiterais différencier les données d'une source par rapport aux autres (j'ai 3 sources en tt).
J'ai une classe qui étend DefaultTableModel que j'utilise pour construire mon JTable, la voici si cela peut vous aider (je ne pense pas car elle est très simpliste pour le moment)

Code :
  1. import javax.swing.table.DefaultTableModel;
  2. public class TableModelVariableEAR extends DefaultTableModel {
  3. private static final long serialVersionUID = 1L;
  4. private String[] columnNames = {"Nom", "Valeur","Description","Contexte utilisé"};
  5. public TableModelVariableEAR()
  6. {
  7.  super();
  8.  setDataVector(null, columnNames);
  9. }
  10. /**
  11.  * Permet de rendre la JTable non editable
  12.  */
  13. public boolean isCellEditable(int row, int col) {
  14.  return false;
  15. }
  16. public void insertData(Object[][] donnees)
  17. {
  18.  setDataVector(donnees, columnNames);
  19. }
  20. }


 
Je ne sais pas trop comment résoudre ce problème. J'ai lu plusieurs sujet la-dessus mais aucun n'était vraiment concret et détaillé.
 
Merci de votre aide.
 
Cordialement
 
gorion18


Message édité par gorion18 le 18-06-2009 à 09:52:31
Reply

Marsh Posté le 17-06-2009 à 10:27:54   

Reply

Marsh Posté le 17-06-2009 à 10:34:27    

A mon avis il faudrait regarder du côté du Renderer de la JTable mais je n'en sais pas plus là dessus.

Reply

Marsh Posté le 18-06-2009 à 09:52:11    

J'ai résolu le problème. Je met les explications pour ceux que cela intéresserait.
 
J'ai créé une classe qui associe une donnée quelconque à mon critère de changement de couleur.
J'ai ensuite passer ces objets dans mon jtable et redéfini les méthodes getvalueAt et setValueAt de mon TableModel pour que la modification ou la récupération de donnée se fasse seulement sur le bon attribut de l'objet.
 
Merci de ta réponse Daemon
 
gorion18

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed