слушатели на Java - PullRequest
       3

слушатели на Java

1 голос
/ 10 апреля 2011

Может кто-нибудь объяснить, в чем проблема со слушателями в этом коде?

Я только начал изучать, как работают слушатели, и не совсем понимаю, как работает ChangeListener.

import java.awt.event.*;

class Button2 implements ChangeListener { //what's whong here

  public void changePerformed(ChangeEvent s) { //and here?
    System.out.println("Pressed the button " + s.getChangeCommand());
  }
}

Затем я добавляю две кнопки.

.....
but1.addChangeListener(new Button2 ());
but2.addChangeListener(new Button2 ());
.....

Ответы [ 2 ]

5 голосов
/ 10 апреля 2011

ChangeListener требуется метод stateChanged, а не changePerformed.

Редактировать: Кроме того, как указано в комментарии выше, ChangeListener, о котором я знаю, находится в javax.swing.event, а не java.awt.event.

1 голос
/ 10 апреля 2011

Как написали zerocrats *, метод 1001 * действительно stateChanged(), а не changePerformed()

Кроме того, CahngeEvent не имеет метода с именем getChangeCommand(). Если вы используете обычные JButton s и просто хотите поймать щелчок мышью, почему бы не использовать старый добрый ActionListener?

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
         System.out.println("Pressed the button " + e.getActionCommand());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...