0

みんながアプレット内でフレームを閉じようとしています...私のプログラムは動作していますが、問題はアプレット内で作成されるフレームが閉じていないことです...どうすればいいですか...フレームウィンドウを閉じるときに例外が発生します:

C:\jdk1.6.0\bin>appletviewer me.java                                            
Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0)                                       at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)                                                         at
java.security.AccessController.checkPermission(AccessController.java:546) 

これが私のコードです:

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
/*<applet code="me.class" height=500 width=500></applet>*/
class se extends Frame {

    String msg;

    public se() {
        msg="This is Frame";
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }

    public void paint(Graphics g) {
        g.drawString(msg,10,100);
    }
}

public class me extends Applet {

    public void init() {
        se s1=new se();
        s1.setSize(400,400);
        s1.setVisible(true);
        s1.setTitle("The JAVA GAMER");
    }

    public void paint(Graphics g) {
        g.drawString("This is Applet",10,100);
    }
}
4

1 に答える 1

1
System.exit(0);

これは、アプレットが完全に信頼されている場合でも、アプレット サンドボックスでは許可されません。

しかし、これをスタンドアローンのアプリにしたほうがよいでしょう。( Frame/ ) & Java Web StartJFrameを使用して Web ページのリンク/ボタンからデプロイします。JWS は、Windows、OS X、および *nix で動作します。その後、フレームは任意のセキュリティ レベルで呼び出すことができます。System.exit(n)

于 2014-04-23T06:29:13.193 に答える