2014-08-31 81 views
1

我想从Java applet运行一个简单的java程序。以下是该程序的代码:如何从Java Applet运行普通的Java程序?

import java.io.*; 
import java.util.*; 
class Termi 
{ 
    public static void main(String a[]) 
    { 
     String[] nu={ "xterm","-e","gedit" }; 
     try 
     { 
      Process p=Runtime.getRuntime().exec(nu); 
     } 
     catch(Exception e){ } 
    } 
} 

这是用于打开gedit文本编辑器(我在Linux上)的程序。现在,我想要做的就是通过单击Applet中的“打开”按钮来执行上述程序。任何人都可以告诉我一个办法吗?

回答

4

一般而言,您将无法从小应用程序启动外部应用程序。不受信任的小程序执行的Java沙箱不允许启动外部应用程序。

如果您:

  • 添加所需的权限,以你的JAR的清单,
  • 签署您的小程序,并
  • 说服最终用户/浏览器信任的小程序。

您可能有办法解决此限制。下面的参考文献讨论了这一点:

然而,这个前提是你能说服最终用户(或他们的系统管理员/保安人员)完全启用Java插件。很多人不会......显而易见的原因。


IMO,你需要想办法编辑不涉及使用applets的文件。

+0

我也建议忘记使用applet来达到问题中所描述的目的。我也会说:认为applets是一种已经灭绝的技术。可以选择使用轻量级Webfrontend的服务器端技术,也可以选择不具有applet限制的(独立)胖客户端。 – mschenk74 2014-08-31 13:08:11

0

这是不可能的,你必须重写Java程序到applet。

+0

好吧,那么我怎样才能得到相同的代码到一个小程序,以便它在我按下按钮时执行? – 2014-08-31 11:02:13

+0

你想执行jar applet吗? – 2014-08-31 11:03:34

+0

不,只是一个.class小程序。 – 2014-08-31 11:18:47