Как добавить ActionLister к кнопке в методе Static - PullRequest
1 голос
/ 14 января 2012

У меня проблема с тем, как добавитьActionListener для кнопки в статическом методе

вот мой статический метод

private static void initComponents() {


    btnExit = new JButton("Exit");
    btnExit.addActionListener(this);  <==== this is error


}

У вас, ребята, есть идеи, как добавить слушателя такчто кнопка реагирует на нажатие

1 Ответ

4 голосов
/ 14 января 2012

Поскольку это статический метод, this отсутствует. Здесь вы можете использовать несколько опций: анонимный класс, новый экземпляр класса, который реализует ActionListener, ....

Пример кода, который использует анонимный класс

  btnExit.addActionListener( new ActionListener() {
    @Override
    public void actionPerformed( ActionEvent aActionEvent ) {
      //do something here
    }
  } );

Возможно, вы захотите прочитать эту статью о статических методах / переменных и эту статью о ключевом слове this, чтобы лучше понять, почему this не будет работа в статическом контексте

...