将参数传递给ActionListener

public class start implements ActionListener { public void actionPerformed(ActionEvent aL) { method(arguments); } } method(arguments) { //stuff } 

我想要一个JButton告诉程序使用参数“stuff”启动一个方法所以我把actionListener放在按钮上面但是actionListener没有访问参数,我不知道如何给它们(我看了oracle文档,无法弄清楚)。 我试过这个:

 actionPerformed(ActionEvent aL, stuff) { 

这不起作用,我得到了错误

 Compute.java:45: error: Compute.start is not abstract and does not override abstract method actionPerformed(ActionEvent) in ActionListener public class start implements ActionListener { ^ 

我尝试放置一个@Override,但你不能根据编译器覆盖它。 那么,我如何将参数提供给ActionListener或者让方法在按钮之外,但只有在按下按钮后才开始工作,但是我在JFrame中使用JProgressBar按钮所在的按钮是使用方法作为计时器的东西所以最好将参数传递给actionListener

您可以通过构造函数传递参数。 但是,当然这意味着只有在创建ActionListener时才能传递参数。

 public class Start implements ActionListener { SomeType arguments; public Start (SomeType arguments) { this.arguments = arguments; } public void actionPerformed(ActionEvent aL) { method(arguments); } }