Я прикрепил ActionListener
к JButton
в Swing.
Основной класс:
class MainClass {
String foo;
JButton button = new JButton("cool button");
public MainClass(String foo) {
this.foo = foo;
...
JFrame setup here
...
button.addActionListener(new MyBtnListener(frame));
System.out.println(getFoo());
}
public String getFoo() {
return this.foo;
}
}
Класс, реализующий методы ActionListener
:
class MyBtnListener extends MainClass implements ActionListener {
private JFrame target;
public MyBtnListener(JFrame target) {
this.target = target;
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("button clicked");
//target.dispose();
}
}
При компиляции код выдает что-то вроде этого: foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo
(бесконечный цикл).Мне нужен класс ActionListener
, чтобы иметь возможность доступа к методам в MainClass
, при этом не вызывая конструктор многократно.Как мне этого добиться?