从Swing GUI编译和运行Java代码

时间:2012-10-15 13:01:46

标签: java swing user-interface executable-jar

我正在使用Java(Swing)构建GUI,我必须从中执行Java代码。为了测试简单的代码,比如用Java打印HelloWorld就行了。

我已经看过论坛问题了,我只知道我必须调用操作系统(我使用Windows7)来执行编译任务。

谢谢。

P.S:我尝试过Runtime.getRuntime()。exec()命令,但没有成功。

4 个答案:

答案 0 :(得分:2)

您可能需要查看编译代码部分的java compiler api, runtime.exec()应该使用正确的命令来启动应用程序。

答案 1 :(得分:2)

如果您使用的是IDE,则无需调用这些命令。

编译:

  • javac HelloWorldSwing.java

执行命令

  • java HelloWorldSwing

...

如果要使用Runtime.getRuntime()。exec()。以下是使用Runtime.getRuntime()。exec()..

的示例
import java.io.*;  
public class TestExec {  
    public static void main(String[] args) {  
        try {  
            Process p = Runtime.getRuntime().exec("cmd /C dir");  
            BufferedReader in = new BufferedReader(  
                                new InputStreamReader(p.getInputStream()));  
            String line = null;  
            while ((line = in.readLine()) != null) {  
                System.out.println(line);  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  

“这只是运行dir命令,捕获其输出并将其复制到程序stdout。不是很令人兴奋,但它显示了使用Runtime.exec()的基本部分。你也可以打开进程'输出和错误溪流。“

所以你可以使用Runtime.getRuntime()。exec()发送命令,你可以使用我上面写的javac或java命令。

答案 2 :(得分:1)

对于编译,您需要一个包含Java编译器javac的已安装JDK。你可以通过Runtime.getRuntime()。exec()来调用javac来编译Java源代码,然后加载它。

或者,您可以使用Java Compiler API。可以通过javax.tools.ToolProvider.getSystemJavaCompiler();

检索主编译器API

另见本文:The Java 6.0 Compiler API

答案 3 :(得分:1)

有一个在SSCCE Text Based Compiler (STBC)中使用JavaCompiler API的示例。请务必阅读与在运行时类路径上获取tools.jar相关的页面。

STBC是open source