2012-05-17 32 views
2

我正在为我的程序创建一个图形界面。当我按下开始按钮时,我想让它调用另一个程序。如何在ActionListener中调用另一个Java文件?

下面是我的listerner代码:

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

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

+6

1)不要以为它们是'Java文件'。他们是班级。 2)在'actionPerformed()'和'main()'''中执行的方式完全相同3)在尝试GUI编程之前,在早期阶段找出这些简单的事情。 –

+3

你想开始考虑它而不是“另一个Java文件”,而是你想*在另一个对象*上执行一个方法。该文件是人们编写软件的人工产物 - 但在心理上,您希望采用对象和方法的模型。 –

+0

这个问题已经解答了。 通过这个[link] [1]。 [1]:http://stackoverflow.com/questions/1346978/java-using-an-actionlistener-to-call-a-function-in-another-class-on-an-对象-f –

回答

3

如果你想在那里创建一个新的启动实例来启动另一个过程中,你可以这样做:

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

或者,如果你已经引用一个现有的Start对象,然后简单地调用它的方法。需要注意的是,如果任何Start方法需要很长时间才能完成或者是资源浪费,那么您需要在后台线程中执行它们,例如由SwingWorker对象提供。

请注意,我的回答很笼统,可能对细节有些模糊,但是我无法提供任何细节的细节,除非您告诉我们更多关于程序的结构,类和您的具体问题。

相关问题