actionlistener, возвращающий nullexception на кнопку - PullRequest
0 голосов
/ 18 августа 2010

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

Пример кода:

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" );
              }
          }
       }
    }
}

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

1 Ответ

0 голосов
/ 20 июля 2012

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

thisButton.addActionListener(this);
...