3

我正在尝试使用进入“应用程序的 VM 实例”的 Java 代理来自动化 jnlp 应用程序中的一些操作,然后创建我的 Swing GUI 的新实例(以及我的自动化类)。

它工作正常,我可以访问框架的组件。问题是我的 GUI 作为一个“小程序”运行,它在我的 GUI 的一角给了我一个烦人的黄色三角形,并且还切断了我的权限(比如文件访问)。

JNLP<application-desc main-class="x"/>在 JNLP 文件中有设置,因此应用程序不会作为小程序运行。

如何将 Swing GUI 作为应用程序而不是小程序运行?

JavaAgent 的代码

public class FrameSearcherAgent {

   public static void agentmain(String args) {   

   Frame[] frames = Frame.getFrames();        
   for(Frame f: frames)
   {          
      if(f.getTitle().equals("Frame Title")){
         //Parameter is the Frame I want
         new JFrameAutomateGUI(f).setVisible(true);
         break;
      }
    } 
  }
}
4

1 回答 1

2

问题是我的 GUI 作为一个“小程序”运行,它在我的 GUI 的一角给了我一个恼人的黄色三角形。

不,那是错误的。

  1. 它适用于任何小程序或 JWS 应用程序。
  2. 对于用户而言,这与其说是安全问题不如说是问题,也是我们在部署应用程序时必须面对的挑战。

..并且还切断了我的权限(如文件访问)。

可以在使用 Java Web Start 部署的任何应用程序或小程序中访问本地文件系统,但它需要不同的(特定于 JWS 的)API。这是一个演示。使用 JNLP 文件服务

另一方面:

  • 如果代码经过数字签名并且 JNLP 请求,三角形将消失j2ee-application-client-permissions
  • 该应用程序。JFileChooser如果它已签名并且 JNLP请求all-permissions.
于 2012-12-02T00:44:23.673 回答