MyTable.updateUI() Erreur Sporadique

Résolu
Messages postés
152
Date d'inscription
mardi 4 mai 2004
Statut
Membre
Dernière intervention
8 octobre 2008
-
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
Bonjour,

j'ai crée une JTable "

MyTable" que je dois mettre a jour à intervalle régulier.
dans mon run() j'appelle une méthode qui reremplie la table avec les valeurs contenues dans un tableau de string.
puis j'update la table
c'est à ce moment la qu'apparait une erreure sporradique (visiblement pas lors de toutes les mises à jour)
de quoi cela peut il bien venir?
Merci












Le code






MyModel


= MyTable.getModel();
for

(int

i =0;i<Values.length;i++){
   for

(int

j= 0;j<Values[i].length;j++){
      Model.setValueAt(Values[i][j],i,j); 
   }
}
if

(MyTable! =null

){  // Ca semble inutile mais c juste pour vérifier
   MyTable.updateUI(); // La j'ai l'errer de facon sporadique
}

L'erreur:

java.lang.NullPointerException


at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)

3 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Tu ne lui enverrai pas des valeurs nulles à ta JTable par hasard ?
Messages postés
152
Date d'inscription
mardi 4 mai 2004
Statut
Membre
Dernière intervention
8 octobre 2008
1
Complémentairement j'ai remarqué que si je recree la table avec :

MyTable=new JTable(Model);

je n'ai plus
l'erreur... mais ce n'est pas une solution viable car tout le reste du prog est out... c juste pour précisier d'ou peut venir le probleme que je ne saisis pas.
Messages postés
152
Date d'inscription
mardi 4 mai 2004
Statut
Membre
Dernière intervention
8 octobre 2008
1
J'ai essayé d'intercepter l'exeption comme suit mais ca n'intercepte rien...

try

{


   JT
.updateUI();
}


catch

(Exception e) {
   System.


out

.println(

"Erreur:"
+e);
   System.exit(0);
}