PeteProgram
Mitglied
Hallo
Habe eine großes Problem innerhalb meiner Anwendung mit den JEditorPane und der setPage() Methode in Verbindung mit dem UndoableEditListener:
Es kommt keine Fehlermeldung, die Seite wird nicht geladen. Wenn ich wait(1000) code, erscheint die Seite und über println kommt notify... Ich will aber keine feste Zeitspanne vorgeben, weill ich nie weiß wie lange das Laden dauern wird.
Hat jemand eine Idee, wer den Monitor braucht, bzw. was ich hier tun kann?
Habe eine großes Problem innerhalb meiner Anwendung mit den JEditorPane und der setPage() Methode in Verbindung mit dem UndoableEditListener:
Code:
...
//Der PropertyChangeListener, der überliefern soll, wenn ein Document via setPage(URL komplett geladen ist)
editorPane.addPropertyChangeListener(new DocumentLoadListener(this));
...
//Alter Listener weg
editorPane.getDocument().removeUndoableEditListener(undoHandler);
try {
//Neues Document über URL laden --> asynchroner Thread
editorPane.setPage(vm.getPage());
} catch (IOException e) {
...
}
//Da das laden asynchron läuft, muss jetzt dass editorpane gestoppt werden
synchronized(this) {
try {
this.wait();
} catch (InterruptedException e) {
...
}
}
editorPane.getDocument().addUndoableEditListener(undoHandler);
...
//Der Listener
class DocumentLoadListener implements PropertyChangeListener {
Object o;
DocumentLoadListener(Object o) {
super();
this.o = o;
}
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("page")) {
System.out.println("notify")
synchronized (o) {
o.notify();
}
}
}
Es kommt keine Fehlermeldung, die Seite wird nicht geladen. Wenn ich wait(1000) code, erscheint die Seite und über println kommt notify... Ich will aber keine feste Zeitspanne vorgeben, weill ich nie weiß wie lange das Laden dauern wird.
Hat jemand eine Idee, wer den Monitor braucht, bzw. was ich hier tun kann?
Zuletzt bearbeitet: