# AccessControlException bei new java.awt.Robot()



## marcLB (19. Jan 2005)

Hallo Freunde,

ich habe folgenden Code:


```
try  {
   GraphicsEnvironment ge =
GraphicsEnvironment.getLocalGraphicsEnvironment();
   GraphicsDevice gd = ge.getDefaultScreenDevice() ;
   Robot robot = new Robot(gd) ;
} catch ( Exception ) {}

Das funktioniert sehr gut solange ich mein Applet local auf meinem Rechner
laufen lasse aber sobald ich dieses Applet in meiner Webseite laufen lasse
werde ich mit folgender Exception bestraft:


"java.security.AccessControlException: access denied (java.awt.AWTPermission
createRobot)"

Was soll das ? Wer kann helfen ?
Ich brauche java.awt.Robot um die Pixelfarbe meines Mauszeigers zu
ermitteln. Gibts eine andere Möglichkeit ohne dieses Robot?

PS: so gehts auch nicht:
try  {  Robot robot = new Robot() ; }  catch ( Exception ) {}
```


----------



## Spacerat (19. Jan 2005)

Les' mal nach, was ein Applet alles darf und was nicht. Bei der Instanzierung von Robots.class wird der SecurityManager mit "checkPermission(SecurityConstants.CREATE_ROBOT_PERMISSION)" abgefragt. Eine "PERMISSION" die ein Applet normalerweise nicht hat. Das bedeutet: Applet signieren oder (falls nur irgendweche Events verwendet werden sollen) EventListener verwenden [z.B. im Kopf implements MouseEventListener hinzufügen, mit addMouseEventListener(this) in init()-Funktion registrieren und alle Methoden des MouseEventListener-Interfaces implementieren].

cu Spacerat


----------



## Grizzly (20. Jan 2005)

Dass das eine Security-Exception geworfen wird, ist ja auch klar. Ansonsten könntest Du ja mit einem Applet in einer Webseite irgendwo im Netz die Rechner derer ausspähen, die auf die Seite gehen und das Applet laden.


----------

