applet jwindow始终位于JNLP之上

时间:2012-06-14 18:34:58

标签: java browser applet awt jwindow

在启动通过浏览器创建JWindow的applet时,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中的类之外,所有类都有一个excwption。

0 个答案:

没有答案