Aurelien Mazurie wrote:
> J'ai loupé quelque chose ?

Oui.

initComponents();
signalObject(obj);
> pack();
display();
Jusque la ca va.

Et la routine signalObject fait ceci:
 dataObj = obj; // OK
 SwingUtilities.invokeLater(new ManageObj(dataObj));
La ca ne va plus.

Pour finir, la routine ManageObj est un thread.
Certes mais il n'est jamais demarre ;-(

En fait il faut faire:
new ManageObj(dataObj).start();

et dans la méthode run():
for each data
SwingUtilities.invokeLater(new Runnable()
{
public void run() { add_to_frame(data); }
});

Suivant ton type de composant, l'usage d'une methode fireXXX() du modele peut etre plus approprie.

Et ca bloque pendant ce temps.
Normal  puisque tu bloques le thread (avec la tache ManageObj).

Le pire c'est que j'ai d'autres frames qui fonctionnent avec d'autres données et qui marchent.
Et que non: soit ce n'est pas le meme code, soit c'est tellement rapide que tu ne vois pas le delai.

A+ Guillaume

Répondre à