0

メインのjframeメニューにリストされたボタン用にアクションリスナーを設定しましたが、それらは正常に機能し、必要に応じて他のjframeを表示します。問題は、人が表示されたjframeのボタンをクリックすると、そのサブメニュー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 に別のアクションリスナーを設定する必要があることはほぼ確実ですが、その方法がわかりません。

4

1 に答える 1

0

内側の JButton に別のアクション リスナーを設定するには、各ボタンに次のコードを記述します。

thisButton.addActionListener(this);
于 2012-07-20T07:09:40.600 に答える