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
A
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
Sana (yanlış) setSelected denedim bugüne kadar –
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. –