2017-10-18 19 views
-1

enter image description here私は4つのタブを含むタブ区画があるコードを書いています。各タブにはラジオボタンとボタンが含まれています。ボタンは押されたラジオボタンに従って動作します。以下は私のコードです。ラジオボタンのアクションリスナーを呼び出すことができません

 if(radiobtn1.isSelected()==true) 
    `     { 
         System.out.println("option 1 selected"); 
        radiobtn1.addActionListener(new ActionListener() { 
        public void actionPerformed(ActionEvent e) { 
          Button1.addActionListener(new ActionListener() { 
          public void actionPerformed(ActionEvent e) { 
          // action for radio button 1 

          } 
         }); 


        } 

        }); 
       } 
       else if(radiobtn2.isSelected()==true){ 
       System.out.println("option 2 selected"); 
       radiobtn2.addActionListener(new ActionListener() { 
        public void actionPerformed(ActionEvent e) { 
          Button1.addActionListener(new ActionListener() { 
          public void actionPerformed(ActionEvent e) { 
          // action for radio button 2 

          } 
         }); 


        } 

        }); 
       } 
       } 

しかし、ラジオボタンを押すたびに、そのアクションリスナーは呼び出されません。私のコードに間違いはありますか?

+1

他の重要なコード部分を参照してください。あなたは何をしているのか理解できません。あまりにも遅れてactionListenerをアタッチしたようですが、ボタンが作成されるとすぐにアタッチします。 –

+0

質問を編集しました。 – Yashu

答えて

0

rdbtnSample.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent arg0) { 
       if (rdbtnSample.isSelected()) 
        System.out.println("Button Pressed"); 
       else 
        System.out.println("Button Released"); 
      } 
     }); 

の下に実行されるアクション内であれば条件を追加するようにコードを修正します。 デフォルトでは、ラジオボタンは選択解除されます。

0

データまたはスイッチパラメータを使用してアクションコンテンツを制御する必要があると思います。ダイナミックコントロールではなく、ボタン内のアクションリスナー。

int radioButtonIndexPressed = 0;

ボタン操作では、radioButtonIndexPressedを使用して実際の動作を決定します。

関連する問題