1

スイングアプリケーションに5つのJRadioボタンがあります。Jradioボタンをクリックしたとき。クリックされたことを表示するjoptionダイアログを作成しました。しかし、選択を解除すると、選択されていることも表示されます。何が問題ですか?私のJradioボタンコーディングの1つ。

      private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) 
{
      JOptionPane.showMessageDialog(null,"one is selected");
}

だから私はついに答えを得ました

@NeilLocketzの助けを借りて

     private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) 
     {
        if(jRadioButton1.isSelected())
          {
            JOptionPane.showMessageDialog(null,"one is selected");
          }
     }

ありがとう

4

4 に答える 4

2
于 2013-01-31T13:38:12.507 に答える
1

button.isSelected()を呼び出すことができるように、JRadioButtonオブジェクトへの参照が必要です。これにより、テストしているボタンが選択されているかどうかのブール値が返されます。

于 2013-01-31T13:32:32.313 に答える
0

これは完全に擬似コードであることに注意してください

     JRadioButton testButton1=new JRadioButton("button1");
     JRadioButton testButton2=new JRadioButton("button2");

     ButtonGroup btngroup=new ButtonGroup();  

     btngroup.add(testButton1);  
     btngroup.add(testButton2);  

     boolean test;

     foreach(JRadioButton b in btngroup){
        test = b.isSelected();
        if(test)
           JOptionPane.showMessageDialog(null, b.getValue() + "is selected");
     }
于 2013-01-31T13:38:52.100 に答える
0

1つのActionListenerインスタンスを作成し、それをすべてのボタンに追加することをお勧めします。このようなもの:

ButtonGroup group = new ButtonGroup();
JRadioButton radio = new JRadioButton("1");
JRadioButton radio2 = new JRadioButton("2");
JRadioButton radio3 = new JRadioButton("3");
group.add(radio);
group.add(radio2);
group.add(radio3);
ActionListener a = new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        JRadioButton source = (JRadioButton) e.getSource();
        System.out.println(source.getText() + " selected " + source.isSelected());
    }
};
radio.addActionListener(a);
radio2.addActionListener(a);
radio3.addActionListener(a);
于 2013-01-31T13:38:57.890 に答える