# WaitCursor zuverlässig für die ganze Applikation setzen?



## t3_chris (10. Sep 2008)

Hallo!

Ich möchte gerne für meine Swing basierte Netbeans Rich Client Application einen Wait Cursor setzten. Mein Lösungsansatz ist der folgende:

Mit 
	
	
	
	





```
Frame f = WindowManager.getDefault().getMainWindow()
```
 hole ich mir den äussersten java.awt.Frame ab und sezte hier drauf den 
	
	
	
	





```
f.setCursor(waitCursor)
```
 call ab. Das geht auch relativ oft, aber leider nicht immer. Kann aber auch nicht ergründen wann/warum das nicht funktioniert. Kann das zehn mal hintereinader auslösen, acht mal funktionierts zwei mal nicht....

Kann das mit dem AWT/Swing Thread zusammenhängen? Kannn ich das setzen des Cursor erzwingen?

Oder ist meine Vorgehensweise komplett falsch?

Danke für Eure Tipps!

mfg
   christian


----------



## Wildcard (10. Sep 2008)

t3_chris hat gesagt.:
			
		

> Kann das mit dem AWT/Swing Thread zusammenhängen?


Wenn der Aufruf nicht aus diesem Thread erfolgt, natürlich.


----------



## t3_chris (10. Sep 2008)

Danke glaub ich habs gefunden. 
Wenn ich den Cursor auf der GlassPane setze gehts:


```
public class CursorTools {

    public interface Cursors {
        Cursor WAIT_CURSOR =
                Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR);
        Cursor DEFAULT_CURSOR =
                Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
    }


    public static void startWaitCursor(JFrame frame) {
        Component glassPane = frame.getGlassPane();        
        glassPane.setVisible(true);
        glassPane.setCursor(Cursors.WAIT_CURSOR);
    }

    public static void stopWaitCursor(JFrame frame) {
        Component glassPane = frame.getGlassPane();        
        glassPane.setVisible(false);
        glassPane.setCursor(Cursors.DEFAULT_CURSOR);
    }

}
```


----------



## CK (9. Okt 2008)

Habe das selbe Problem, habe es auch gerade mal mit deiner Lösung ausprobiert. Geht aber auch nur solange wie man sich auf keiner anderen Komponenete befindet.
Eigentlich komisch, gerade mitn ner Glasspane.


----------

