Hi,
im Thread Ausgabe von Zwischenergebnissen ist eine Methode für Hintergrundtasks beschrieben worden. Hier ist eine andere, die aber nicht richtig funktioniert
Das Ding läuft zwar im Hintergrund und ich erhalte eine live-Ausgabe im Textfeld der GUI, jedoch gelingt es mir nicht, den Wert von i ebenfalls auszugeben.
Außerdem wird der Statusbalken in der GUI nicht aktualisiert, warum nur?
Und angenommen, das ist nur eine Kleinigkeit für euch Cracks, was ist der Unterscheid zwischen dieser Methode und der im anderen o.g. Thread?
Ich fände diesen Code hier schöner und handlicher, als den anderen, wenn er denn funktionieren würde
Tschö,
Igor
im Thread Ausgabe von Zwischenergebnissen ist eine Methode für Hintergrundtasks beschrieben worden. Hier ist eine andere, die aber nicht richtig funktioniert
Das Ding läuft zwar im Hintergrund und ich erhalte eine live-Ausgabe im Textfeld der GUI, jedoch gelingt es mir nicht, den Wert von i ebenfalls auszugeben.
Außerdem wird der Statusbalken in der GUI nicht aktualisiert, warum nur?
Code:
@Action public void machet() {
final int z;
z = myView.getZaehler();
new Thread() {
@Override
public void run() {
// rechen- oder zeitintensive Befehle ausfuehren...
for (int i = 1; i <= z; i++){
System.out.println("machet: " + i);
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(MachwasApp.class.getName()).log(Level.SEVERE, null, ex);
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// Aenderungen an der GUI vornehmen...
myView.setTextfeld("machet: " + "\n");
}
} // Runnable()
); // invokeLater()
} // for
// sonstige Befehle ausfuehren...
} // Thread.run
}.start(); // thread()
} // machet()
Und angenommen, das ist nur eine Kleinigkeit für euch Cracks, was ist der Unterscheid zwischen dieser Methode und der im anderen o.g. Thread?
Ich fände diesen Code hier schöner und handlicher, als den anderen, wenn er denn funktionieren würde
Tschö,
Igor
Zuletzt bearbeitet: