0

У меня есть прослушиватель действий, настроенный в моем главном меню jframe для кнопок, перечисленных на нем, и они отлично работают, при необходимости поднимая другие jframes. Проблема заключается в том, когда человек нажимает кнопки на jframes, которые возникают, я получаю nullexception после нажатия jbutton на это подменю jframe.actionlistener, возвращающий nullexception на jbutton

Пример код:

public class main extends JFrame implements ActionListener 
{ 
    public main 
    { 
     private JButton thisButton = new JButton("this"); 
     private JButton thatButton = new JButton("that"); 
     thisButton.addActionListener(this); 
     thatButton.addActionListener(this); 
     thisButton.setActionCommand("THISBUTTON"); 
     thatButton.setActionCommand("THATBUTTON");   

     setLayOut(new FlowLayout()); 

     add(thisButton); 

     public void actionPerformed(ActionEvent event) 
     { 
      String source = event.getActionCommand(); 
      if(source.equals("THISBUTTON") 
      { 
       JFrame thisFrame = new JFrame(); 
       thisFrame.add(thatButton); 

       if(source.equals("THATBUTTON") 
       { 
        System.out.println("pushed thatbutton"); 
       } 
      } 
     } 
    } 
} 

Теперь я почти уверен, что мне нужно настроить другое действие слушатель для внутреннего JButton, но я в потерянном тем, как сделать это.

+0

Ваш пример код не компилировать, у вас есть правильный пример? –

+0

Не хватало финиша} – rlindsey

+0

Хорошо, думаю, я это понял. Я сделал еще один класс, который сделал рамку со своим собственным исполнителем действий. Таким образом, конфликта не было, и nullexception не произошло; – rlindsey

ответ

0

Чтобы настроить другой слушатель действия для внутренних JButtons просто написать этот код для каждой кнопки

thisButton.addActionListener(this); 
Смежные вопросы