java.security.AccessControlException bei Verwendung der Klasse java.awt.Robot für die Bildschirmaufnahme im Applet

Ich muss einen Webseitenbildschirm erfassen, um ihn auf dem Computer des Clients zu speichern, wenn der Client auf die Schaltfläche zum Drucken des Bildschirms klickt. Dafür habe ich gegoogelt und festgestellt, dass ich dies tun kann, indem ich ein Applet mit Signatur (vertrauenswürdiges Applet) in meine JSP-Seite einbinde. Ich versuche es mit einem einfachen Applet für eine eigenständige Java-Klasse. Bei Erfolg kann ich es für jsp versuchen, nachdem ich das Applet signiert habe. Was ich versucht habe ist:

import java.applet.Applet;  
import java.awt.Graphics;  
import java.util.Date;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
/* <applet code = MyApplet.class width="500" height="500">Java Applet for screen capture</applet>  */



public class MyApplet extends Applet {  

  /* Applet Life cycle Methods */  
  public void start()
  { 
   try{
   // capture the whole screen
   BufferedImage screencapture = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );
   // Save as JPEG
   File file = new File("D:/screencapture.jpg");
   ImageIO.write(screencapture, "jpg", file);
   System.out.println("screen capture finished : ");
     }//try closing...
     catch(Exception e)
     {
       System.out.println("screen capture error : ");
       e.printStackTrace();
     }//catch closing...  
   }//start closing...

 public void stop()
  {  

  }   
}  

Ich bekomme das:

java.security.AccessControlException: access denied ("java.awt.AWTPermission" "createRobot")
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366)
        at java.security.AccessController.checkPermission(AccessController.java:560)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at java.awt.Robot.checkRobotAllowed(Robot.java:170)
        at java.awt.Robot.init(Robot.java:134)
        at java.awt.Robot.<init>(Robot.java:96)
        at MyApplet.start(MyApplet.java:23)
        at sun.applet.AppletPanel.run(AppletPanel.java:474)
        at java.lang.Thread.run(Thread.java:722)

Jede Hilfe, jede Idee wird geschätzt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage