actionlistener在jbutton上返回一个nullexception

时间:2010-08-18 18:58:35

标签: jframe jbutton actionlistener actioncontroller argumentnullexception

我在主jframe菜单上设置了一个动作监听器,用于上面列出的按钮,它们工作正常,根据需要调出其他jframe。问题是当一个人点击提出的jframes上的按钮时,在点击该子菜单jframe上的jbutton之后我得到了一个nullexception。

示例代码:

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设置另一个动作监听器,但我对如何做到这一点感到迷茫。

1 个答案:

答案 0 :(得分:0)

要为内部JButtons设置另一个动作侦听器,只需为每个按钮编写此代码

thisButton.addActionListener(this);