java程序中通过一个按钮使另一个java程序执行(也是自己编写的)

希望有具体代码,一个小的示例就行,谢谢

Process p = new ProcessBuilder("java", "-jar", "filename.jar")
.directory(new java.io.File("X:\\path\\to\\jar\\file\\"))
.start();

Process p2 = new ProcessBuilder("java", "classname")
.directory(new java.io.File("X:\\path\\to\\class\\file\\"))
.start();
//p.getInputStream() 可以得到你在另一个程序中向 System.out 输出的信息,更多内容阅读 java.lang.Process 的 API doc
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-05
第二个程序
import javax.swing.JOptionPane;

public class D {

public static void main(String[] args) {

JOptionPane.showMessageDialog(null, "Another program is running");

}

}

第一个程序with button
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JFrame;

public class CcallD extends JFrame implements MouseListener{
private JButton btn = new JButton("GO");

public CcallD(){
super.add(btn);
btn.addMouseListener(this);

super.setVisible(true);
super.pack();
super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public static void main(String[] args) {
new CcallD();
}

public void mouseClicked(MouseEvent e) {
try {
Runtime.getRuntime().exec("Java D.class");
} catch (IOException e1) {
e1.printStackTrace();
}
}

public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}追问

我是分在一个工程的两个文件夹下放的两个java文件,但是运行C的时候无法使D执行。(我用的eclipse)

本回答被网友采纳
第2个回答  2012-03-05
另一个java程序是什么意思?另外一个main方法?追问

是的

相似回答