1

我的摇摆应用程序上有 5 个 JRadio 按钮。当我单击我的 Jradio 按钮时。我创建了一个 joption 对话框以显示它已被单击。但是当我取消选择它时,它也会显示它已被选中。问题是什么?我的 Jradio 按钮编码之一。

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

所以我终于得到了答案

在@Neil Locketz 的帮助下

     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

您需要对 JRadioButton 对象的引用,以便您可以调用 button.isSelected() 这将返回一个布尔值,表明您正在测试的按钮是否被选中。

于 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

我建议您创建一个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 回答