最近在看线程的东东.看到经典在applet中调用线程实现的时钟程序,就自己试试看.但是编译通过,运行报错.
请大家指教一下,谢谢.
import java.awt.Graphics;
import java.applet.Applet;
import java.util.Date;public class DigitalClock extends Applet   implements Runnable {   Date theDate;  
   Thread runner;   public void start() {     if (runner == null) {       runner = new Thread(this);       runner.start();     }   }    public void stop() {     if (runner != null) {       runner.stop();       runner = null;     }   }    public void run() {     while (true) {       theDate = new Date();       repaint();      try { Thread.sleep(1000); }       catch (InterruptedException e) { }     }   }    public void paint(Graphics g) {     g.drawString(theDate.toString(),10,50);   }
}错误是
java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
    at java.security.AccessController.checkPermission(AccessController.java:401)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
    at sun.applet.AppletSecurity.checkAccess(AppletSecurity.java:159)
    at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:287)
    at java.lang.Thread.init(Thread.java:284)
    at java.lang.Thread.<init>(Thread.java:330)
    at DigitalClock.start(DigitalClock.java:29)
    at sun.applet.AppletPanel.run(AppletPanel.java:377)
    at java.lang.Thread.run(Thread.java:534)

解决方案 »

  1.   

    试了好多次都不行呀,只要是线程和applet同时在一起,就会报错......求那位帮帮我,我用的IDE是NetBeans
      

  2.   

    java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)显然是安全异常,你的applet没有修改线程组的权限1。你可以不作安全检查,即applet运行时,不安装SecurityManager。
    2。给你的applet设置对应的权限
      

  3.   

    哦,原来是这个问题呀,难怪每次运行都不成功。但是在那里修改applet的权限呀,有没有这方面的资料呀,谢谢!