1

PollFrame.javaというファイルでJFrameを拡張するPollFrameというこのクラスがあります。PollFrameにはフォームが含まれています。ボタンが入ったアプレットがあります。ボタンがクリックされたときに、PollFrameを表示したい。ActionPerformedを次のように設定しました。

Pollframe poll = new PollFrame(); // This initializes the form
poll.setVisible(true);

ただし、ボタンをクリックすると、次のエラーが発生します。

Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkExit(Unknown Source)
    at javax.swing.JFrame.setDefaultCloseOperation(Unknown Source)
    at com.org.pollFrame.initComponents(pollFrame.java:54)
    at com.org.pollFrame.<init>(pollFrame.java:11)
    at com.org.EmployeeApplet.requestRoomActionPerformed(EmployeeApplet.java:216)
    at com.org.EmployeeApplet.access$300(EmployeeApplet.java:7)
    at com.org.EmployeeApplet$4.actionPerformed(EmployeeApplet.java:71)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

上記のエラーから、アプレットから別のクラスファイルを呼び出すことは禁止されていると推測しています。アプレットからPollFrameを表示する方法はありますか?

4

2 に答える 2

2

setDefaultCloseOperation()JFrameを呼び出しているようですが、これによりセキュリティ例外が発生します

アプレットから別のクラスを確実に呼び出すことができますが、一部の操作は制限されています。ローカルファイルを開いたり、他のマシンへの接続を開いたりすることはできません...

于 2010-04-17T10:19:44.970 に答える
1

PollFrame.javaというファイルでJFrameを拡張するPollFrameというこのクラスがあります。PollFrameにはフォームが含まれています。ボタンが入ったアプレットがあります。ボタンがクリックされたときに、PollFrameを表示したい。

これはワンライナーです:

applet.showDocument("PollFrame.jnlp", "_blank");

によって起動されたフレームPollFrame.jnlpは、別のVMを持っているため、サンドボックス化されたまま、好きなデフォルトのクローズ操作を呼び出すことができます。「常にトップになる」には、信頼できる必要があります(そして、常にトップになることを目指す他のすべてのアプリと戦います)。

于 2011-09-16T07:50:17.743 に答える