2016-04-12 42 views
0

Bir düğme grubunda üç radyo düğmesi var. Radyo düğmelerinin sıfırlanması için JButton tıklayın, böylece doldurulmuyor. Sizinle birlikte gelen mantıksal önerileri denedim. .set ve tüm booleanlar yapmak istediklerimi yapmadılar. Öyleyse, büyük takdir edilecek önerileriniz varsa. Teşekkürler!Java'da radyo düğmelerini sıfırla

+0

Sana (yanlış) setSelected denedim bugüne kadar –

+0

denedi neler gönderilmesi için lütfen Örneğin ButtonGroup#clearSelection

... kullanın; (Yanlış) setContentAreaFilled; button.revalidate(); button.firePropertyChange (null, true, false); (Yanlış) setIconPainted; ve bir kaçını hatırlayamıyorum. –

cevap

2

Basitçe

import java.awt.Dimension; 
import java.awt.EventQueue; 
import java.awt.Graphics; 
import java.awt.Graphics2D; 
import java.awt.GridBagConstraints; 
import java.awt.GridBagLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.Action; 
import javax.swing.ButtonGroup; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JRadioButton; 
import javax.swing.UIManager; 
import javax.swing.UnsupportedLookAndFeelException; 

public class Test { 

    public static void main(String[] args) { 
     new Test(); 
    } 

    public Test() { 
     EventQueue.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       try { 
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
       } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { 
        ex.printStackTrace(); 
       } 

       JFrame frame = new JFrame("Testing"); 
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       frame.add(new TestPane()); 
       frame.pack(); 
       frame.setLocationRelativeTo(null); 
       frame.setVisible(true); 
      } 
     }); 
    } 

    public class TestPane extends JPanel { 

     private JRadioButton[] buttons; 
     private ButtonGroup buttonGroup; 

     public TestPane() { 
      buttons = new JRadioButton[] { 
       new JRadioButton("Nuclear"), 
       new JRadioButton("Gas"), 
       new JRadioButton("Stream"), 
       new JRadioButton("Peddle"), 
       new JRadioButton("Electric") 
      }; 
      setLayout(new GridBagLayout()); 
      GridBagConstraints gbc = new GridBagConstraints(); 
      gbc.weightx = 1; 
      gbc.anchor = GridBagConstraints.WEST; 
      gbc.gridwidth = GridBagConstraints.REMAINDER; 
      buttonGroup = new ButtonGroup(); 
      for (JRadioButton btn : buttons) { 
       add(btn, gbc); 
       buttonGroup.add(btn); 
      } 

      JButton clear = new JButton("Clear"); 
      add(clear, gbc); 

      clear.addActionListener(new ActionListener() { 
       @Override 
       public void actionPerformed(ActionEvent e) { 
        buttonGroup.clearSelection(); 
       } 
      }); 
     } 

    } 

} 
+0

Aman Tanrım, harikasın. Düğme grubunun kendisiyle neler yapabileceğimi tamamen kontrol etmeyi unuttum. Teşekkür ederim: D –

+1

Memnun kaldım ... – MadProgrammer