如何在ActionListener中调用另一个Java文件?

时间:2012-05-17 03:42:38

标签: java swing jbutton actionlistener

我正在为我的程序创建一个图形界面。当我按下开始按钮时,我希望它可以调用另一个程序。

以下是我的listerner代码:

private class ButtonHandler implements ActionListener 
{
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==startButton)
            ?????
    }
}

我该怎么办?我打算调用另一个Java文件(Start.java)。

2 个答案:

答案 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