我正在为我的程序创建一个图形界面。当我按下开始按钮时,我希望它可以调用另一个程序。
以下是我的listerner代码:
private class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==startButton)
?????
}
}
我该怎么办?我打算调用另一个Java文件(Start.java)。
答案 0 :(得分:3)
如果你想在那里创建一个新的Start实例,你可以这样做:
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==startButton) {
Start myStart = new Start();
myStart.foo();
}
}
或者,如果您已经有对现有Start对象的引用,那么只需调用其方法即可。需要注意的是,如果任何Start的方法需要很长时间才能完成或者是资源占用,那么您需要在后台线程中执行它们,例如由SwingWorker对象提供。
请注意,我的回答非常笼统,可能对细节有点模糊,但在您告诉我们更多关于您的程序结构,类和您的具体问题之前,我无法提供任何更精细的细节。
答案 1 :(得分:1)
如果属于您的项目且已包含在类路径中,则可以调用Start类所需的方法。
如果你想全部启动另一个进程,你必须使用 http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec(java.lang.String)