// this works
if ("Show".equals (obj))
{
try {
String command= "/usr/bin/xterm -e javac panel_1.java";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
这会打开一个xterm窗口,在panel_1.java上调用javac,如果panel_1.java是一个有效的文件,它会编译。然后xterm窗口关闭。好吧我想从编译中获取警告等,并将它们放在列表或textArea中。 任何想法???
答案 0 :(得分:5)
Java 6具有来自javax.tools
包的JavaCompiler
,它为编译器提供API而无需运行外部进程。 (阅读我链接的javadoc!)
Here也是关于此事的一个小教程。