Как Вы добавляете ActionListener на JButton в Java

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

27
задан montrealist 27 July 2017 в 15:35
поделиться

3 ответа

Два пути:

1. Реализация ActionListener в Вашем классе, затем используйте jBtnSelection.addActionListener(this); Позже, необходимо будет определить menthod, public void actionPerformed(ActionEvent e). Однако делая это для нескольких кнопок может сбивать с толку, потому что actionPerformed метод должен будет проверить источник каждого события (e.getSource()) для наблюдения, из какой кнопки это прибыло.

2. Использование анонимные внутренние классы:

jBtnSelection.addActionListener(new ActionListener() { 
  public void actionPerformed(ActionEvent e) { 
    selectionButtonPressed();
  } 
} );

Позже, необходимо будет определить selectionButtonPressed(). Это работает лучше, когда у Вас есть несколько кнопок, потому что Ваши вызовы к отдельным методам для обработки действий прямо рядом с определением кнопки.

второй метод также позволяет Вам называть метод выбора непосредственно. В этом случае Вы могли звонить selectionButtonPressed(), если некоторое другое действие происходит, также - как, когда таймер уходит или что-то (но в этом случае, Ваш метод назвали бы чем-то другим, возможно selectionChanged()).

52
ответ дан David Koelle 28 November 2019 в 04:49
поделиться

Я, не полностью следовал, но добавить слушателя действия, Вы просто звоните addActionListener (от Абстрактной Кнопки). Если это не полностью отвечает на Ваш вопрос, можно ли предоставить еще некоторую подробную информацию?

0
ответ дан AdamC 28 November 2019 в 04:49
поделиться

Ваш лучший выбор состоит в том, чтобы рассмотреть Java учебные руководства Swing , конкретно учебное руководство на Кнопках .

, отрывок короткого кода:

jBtnDrawCircle.addActionListener( /*class that implements ActionListener*/ );
7
ответ дан Alex B 28 November 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: