k4zZ
09-04-2007, 21:03
Hallo alle zusammen & frohe Ostern nachträglich! ;)
Ich arbeite gerade an einem kleinen Javaprogramm wo ein komplexer vorgang ausgeführt werden soll, welcher einige zeit in anspruch nehmen wird. Deswegen möchte ich dass sich vor meinem Hauptfenster ein JDialog mit JProgressbar öffnet (mit setIndeterminate(true) solange diese aufgabe läuft. Dieser JDialog soll das Hauptfenster blockieren so das man keine eingaben machen kann.
Nach Abschluss der komplexen Aufgabe soll sich das fenster wieder verschwinden und die GUI wieder freigeben. Das ganze lässt sich ja normalerweise mit dem parrent parameter lösen.
Ich hab soweit alles hinbekommen, nur das das Hauptfenster gesperrt wird klappt nicht so recht -der Benutzer kann noch fröhlich klicken ;).
Ich starte den JDialog zusammen mit der Aufgabe zusammen in einem eigenen Thread der durch den ActionHandler des hauptfensters aufgerufen wird. Seht es euch am besten mal selbst an - für eure Hilfe wäre ich euch echt dankbar!
Überigens: Ein aussagekräftigeres voll lauffähiges Beispiel habe ich als neteansprojekt angefügt.
Auszug aus der GUI.java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Thread taskThread = new Thread()
{
public void run(){
ProgressDialog dialog = new ProgressDialog();
dialog.setLocationRelativeTo(null);
Task.ComplexTask();
dialog.dispose();
}
};
taskThread.start();
}
Ich arbeite gerade an einem kleinen Javaprogramm wo ein komplexer vorgang ausgeführt werden soll, welcher einige zeit in anspruch nehmen wird. Deswegen möchte ich dass sich vor meinem Hauptfenster ein JDialog mit JProgressbar öffnet (mit setIndeterminate(true) solange diese aufgabe läuft. Dieser JDialog soll das Hauptfenster blockieren so das man keine eingaben machen kann.
Nach Abschluss der komplexen Aufgabe soll sich das fenster wieder verschwinden und die GUI wieder freigeben. Das ganze lässt sich ja normalerweise mit dem parrent parameter lösen.
Ich hab soweit alles hinbekommen, nur das das Hauptfenster gesperrt wird klappt nicht so recht -der Benutzer kann noch fröhlich klicken ;).
Ich starte den JDialog zusammen mit der Aufgabe zusammen in einem eigenen Thread der durch den ActionHandler des hauptfensters aufgerufen wird. Seht es euch am besten mal selbst an - für eure Hilfe wäre ich euch echt dankbar!
Überigens: Ein aussagekräftigeres voll lauffähiges Beispiel habe ich als neteansprojekt angefügt.
Auszug aus der GUI.java:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Thread taskThread = new Thread()
{
public void run(){
ProgressDialog dialog = new ProgressDialog();
dialog.setLocationRelativeTo(null);
Task.ComplexTask();
dialog.dispose();
}
};
taskThread.start();
}