2

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

以下是我的侦听器代码:

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

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

4

2 回答 2

3

如果你想在那里创建一个新的 Start 实例,你可以这样做:

public void actionPerformed(ActionEvent e)
{
    if(e.getSource()==startButton) {
       Start myStart = new Start();
       myStart.foo();
    }
}

或者,如果您已经引用了现有的 Start 对象,则只需调用其方法即可。需要注意的是,如果 Start 的任何方法需要很长时间才能完成或占用大量资源,则您需要在后台线程中执行它们,例如 SwingWorker 对象提供的。

请注意,我的回答非常笼统,可能在细节上有点模糊,但我无法提供任何更细粒度的细节,直到你在这里告诉我们更多关于你的程序结构、你的类和你的具体问题。

于 2012-05-17T03:47:24.590 回答
1

如果它属于您的项目并且已经包含在类路径中,您可以调用 Start 类的所需方法。

如果你想一起启动另一个进程,你必须使用 http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec(java.lang.String )

于 2012-05-17T03:47:13.203 回答