2016-03-16 3 views
0

Я применил следующий код, чтобы изменить изображение моего персонажа, когда я нажал кнопку, созданную в JPanel Netbeans, но ее даже не вызывают (ее проверили, добавив строку для печати на консоли, но это даже не печатается . Любая помощь будет оценена.JPanel кнопка не отвечает?

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {           
    // TODO add your handling code here: 
     System.out.println("Switch!"); 
     snowman.removeAllImages(); 
     snowman.addImage(image2); 
+1

не сравнивать строки с использованием оператора ==. Он просит неприятностей. – Stultuske

+0

Извините, я вставил неправильный код. обновил вопрос. – zmi

+0

@zmi есть ли ошибки в консоли? –

ответ

1

делает попытаться поймать заявление в своем действии e.pritntrace это очень полезно для отладки вашего кода и найти ваши ошибки надеются, что это поможет вам

0

изменить при Я нажал кнопку, которую я создал в JPanel Netbeans, но ее даже не вызывают (протестировали это, добавив строку для печати ou t в консоли, но это даже не печатается.

Вы можете обеспечить следующее:

  • Убедитесь, что кнопка, которую вы заинтересованы, чтобы сгенерировать событие на клик уже добавлен в ActionListener объекта

Пример:

  • Если вы создаете внутренний класс для вашего объекта ActionListener,

    btn.addActionListener(new ButtonHandler()); 
    
  • Если реализует свой текущий класс с ActionListener,

    btn.addActionListener(this); 
    
  • Если вы создаете анонимный объект ActionListener,

    btn.addActionListner(new ActionListener(){   
        @Override 
        public void actionPerformed(ActionEvent e){ 
         //To do when button is clicked 
        } 
    }); 
    

Я вижу, что вы создали свой собственный метод для обработки события действия:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) 
  • Если вы сделаете это, не забудьте заполнить свои коды в actionPerformed() методе объекта ActionListener который был добавлен к вашей кнопке.

Пример:

@Override 
public void actionPerformed(ActionEvent e){ 
    jButton2ActionPerformed(e); 
} 
0

Хорошо объясняется user3437460. Если это не поможет, пожалуйста, скопируйте здесь больше кода, чтобы понять это. Добавьте прослушиватель кнопок и убедитесь, что вы вызвали его частный метод, как показано ниже.

btn.addActionListner(new ActionListener(){   
    @Override 
    public void actionPerformed(ActionEvent e){ 
     jButton2ActionPerformed(e); 
    } 
    }); 
Смежные вопросы