Auf Thema antworten

Guten Morgen zusammen,


folgende Situation:


Ich lade aus einem Verzeichnis die entsprechenden Objekte in eine interne Datenstruktur. Wärend des Einleseprozess setze ich eine GlassPane und deaktiviere mein [code=Java]JFrame window[/code]Gleichzeitig setze ich den Look des aktuellen Cursors auf [code=Java]Cursor.WAIT_CURSOR[/code]Funktioniert soweit. Nur ist es so, dass wenn ich den Cursor während des Einleseprozess bewege, er solange in den Look des normalen Cursors geht, also [code=Java]Cursor.DEFAULT_CURSOR[/code], bis ich meine Maus nicht mehr bewege. Ist das normal, oder mache ich etwas falsch?


Hier einen Auszug aus meiner Programm.


  • lock - Zum Sperren des Frames, setzen des Looks für den Cursor, Laden des Bestands
  • unlock - Entsperren des Frames, setzen des Locks für den Cursors


[code=Java]

public void lock() {

    window.getGlassPane().setVisible(true);

    window.getGlassPane().requestFocusInWindow();

    window.setEnabled(false);

    window.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));


    new Thread(new Runnable() {

        @Override

        public void run() {

            loadDatabase();

            SwingUtilities.invokeLater(new Runnable() {

                @Override

                public void run() {

                    unlock();

                }

            });

        }

    }).start();

}


public void unlock() {

    window.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));

    window.getGlassPane().setVisible(false);

    window.setEnabled(true);

}

[/code]


Könnt ihr mir vielleicht helfen?



Oben