0

ブラウザを介して JWindow を作成するアプレットを起動すると、Java コンソールが次の AccessControlException をスローします。

アクセスが拒否されました java.awt.AWTPermission "setWindowAlwaysOnTop"

JFrame を常に一番上に置き、ポリシー ファイルにアクセス許可を付与し、特権コードを使用したいのですが、問題は解決しません。どうすればよいですか?

import java.applet.Applet;
import java.awt.Color;
import java.awt.Font;
import java.security.AccessController;
import java.security.PrivilegedAction;

import javax.swing.JButton;
import javax.swing.JFrame;


public class appletJFrame extends Applet
{

public void start()
{
    //create a frame
    final JFrame frame = new JFrame("FrameDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true); 

    //add a button
    JButton doneButton = new JButton("demo");
    doneButton.setFont(new Font("Calibri", doneButton.getFont().getStyle(), doneButton.getFont().getSize()));
    doneButton.setBackground(new Color(53,168,51));

    frame.getContentPane().add(doneButton);

    AccessController.doPrivileged(
            new PrivilegedAction<Object>() 
            {
                   public Object run()
                   {
                       frame.setAlwaysOnTop(true);//gives an error for this
                       return null;
                   }
            }

          );

}

}

アプリケーションの起動に使用している JNLP ファイルは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" href="Launcher.jnlp">

<information>
    <title>xyz</title>
    <vendor>xyz</vendor>
</information>

<resources>
    <!-- Application Resources -->
    <j2se version="1.6+"
          href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="MyJar.jar"
        main="true" />      //can be resolved
    <jar href="jna.jar" />     //cannot be resolved(used as imports in main class)
    <jar href="platform.jar" />    //cannot be resolved(used as imports in main class)
    <jar href="xuggle-xuggler.jar" />    //cannot be resolved(used as imports in main class)
    <jar href="xuggle-xuggler-test.jar" />    //cannot be resolved(used as imports in main class)


</resources>

<application-desc
     name="Example"
     main-class=
       "Launch"
     width="300"
     height="300">
</application-desc>

<security>
 <all-permissions/>
</security>

<offline-allowed />

<update check="background"/>

</jnlp>          

MyJar.Jar 内のクラスを除くすべてのクラスに対して、no class definition found excwption を取得します。

4

0 に答える 0