我正在尝试使用进入“应用程序的VM实例”的Java代理在jnlp应用程序中自动执行某些操作,然后创建一个新的Swing GUI实例(以及我的自动化类)。 p>
它工作正常,我可以访问框架的组件。问题是我的GUI作为“applet”运行,它在我的GUI角落给我一个黄色的恼人的三角形,并且还切断了我的权限(比如文件访问)。
JNLP在JNLP文件中具有<application-desc main-class="x"/>
设置,因此该应用程序不会作为小程序运行。
如何将Swing GUI作为应用程序而不是applet运行?
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;
}
}
}
}
答案 0 :(得分:2)
问题是我的GUI作为“applet”运行,它在我的GUI角落给了一个黄色的恼人的三角形..
不,那是错的。
..并且还切断了我的权限(比如文件访问)。
可以在使用Java Web Start部署的任何应用程序或applet中访问本地文件系统,但它需要不同的(JWS特定的)API。这是demo. of using the JNLP file services。
另一方面:
j2ee-application-client-permissions
,则三角形将消失。 JFileChooser
,则可以执行无安全管理员可以执行的所有操作(包括显示all-permissions
)。