最近在看线程的东东.看到经典在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)
请大家指教一下,谢谢.
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)
2。给你的applet设置对应的权限