Hallo!
Ich schreibe gerade an einem Programm und an einigen Stellen besitzt dieses Programm eine etwas längere Antwortzeit, da die Daten noch aus einer großen XML-Datei kommen, was auch leider erstmal nicht geändert werden kann. Beim Start des Programms zeige ich einen JDialog an, der dem Benutzer anzeigt, das geladen wird. Alles kein Problem, der Dialog ist so lange da, bis die GUI komplett geladen wird. Wenn ich dies nun aber auch beim Speichern machen möchte kommt kein Dialog. Mittlerweile habe ich auch herausgefunden, dass der Dialog da ist, jedoch irgendwie unsichtbar ist. Also wenn ich meinem Frame minimiere und dann wieder vergrößere ist an der Stelle, wo der Dialog erscheinen sollte der Desktophintergrund zu sehen...
Dies ist mein Dialog:
Dies ist die Stelle beim Speichern:
Ich schreibe gerade an einem Programm und an einigen Stellen besitzt dieses Programm eine etwas längere Antwortzeit, da die Daten noch aus einer großen XML-Datei kommen, was auch leider erstmal nicht geändert werden kann. Beim Start des Programms zeige ich einen JDialog an, der dem Benutzer anzeigt, das geladen wird. Alles kein Problem, der Dialog ist so lange da, bis die GUI komplett geladen wird. Wenn ich dies nun aber auch beim Speichern machen möchte kommt kein Dialog. Mittlerweile habe ich auch herausgefunden, dass der Dialog da ist, jedoch irgendwie unsichtbar ist. Also wenn ich meinem Frame minimiere und dann wieder vergrößere ist an der Stelle, wo der Dialog erscheinen sollte der Desktophintergrund zu sehen...
Dies ist mein Dialog:
Code:
/** Creates new form Loading */
public Loading(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
Dimension dialogsize = this.getSize();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
// Position des JFrames errechnen
int top = (screenSize.height - dialogsize.height) / 2;
int left = (screenSize.width - dialogsize.width) / 2;
// Position zuordnen
this.setLocation(left, top);
Cursor cursor = new Cursor(Cursor.WAIT_CURSOR);
this.setCursor(cursor);
}
Dies ist die Stelle beim Speichern:
Code:
public void save(){
FreeWindow window = FreeWindow.getInstance();
Loading load = new Loading(window, false);
load.setLoadLabelText("Es wird gespeichert...");
load.validate();
load.setVisible(true);
load.setAlwaysOnTop(true);
resourceManager.save();
load.dispose();
}