en effet, je me rends compte que mon explication est peu claire

j'ai une classe qui étends une JFrame et qui possède un champs de type Document W3c et un booléen pour savoir si ma page est chargée

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public class myFrame extends JFrame implements ProgressListener, WindowListener, URIContentListener
{
 
private boolean loaded = false;
private Document outputDocument;
dans cette classe, je définis une méthode load() qui va charger une page web dans la JFrame (utilisation de l'API JRex) - le but est que cette méthode renvoie un objet de type Document qui est en fait l'objet DOM de la page chargée MAIS cela ne peut se faire qu'un fois la page complètement chargée - conséquence : il faut faire "attendre" la méthode load()

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
public Document load(URI u)
{
//chargement de la page
...
//attente
while(!this.loaded)
{
continue
}
return this.outputDocument;
}
la méthode "onStateChange" est déclenchée à chaque fois que la page change d'état. lorsque l'état est "chargement terminé" alors on affecte le champs "outputDocument" et je change le booléen à true
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
public void onStateChange(ProgressEvent event)
{
this.outputDocument = browser.getDocument;
//à cet endroit, le contenu est outputDocument est correct
this.loaded = true;
}
mon problème actuel est que le contenu de outputDocument est correct dans la méthode "onStateChange" MAIS PAS à la fin de la méthode load() ???

merci pour votre aide bien utile