Olá,
para limpar vários JTextField pode-se procurar nos componentes qual é JTextField e limpá-lo . Mas para limpar vários JRadioButton teria algo semelhante ? Tentei achar em qual o ButtonGroup pertenceria um JRadioButton, mas não achei nada.
Haveria um solução ou teria que colocar todos os ButtonGroup e limpá-los como o exemplo abaixo ?
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class Teste extends JFrame {
private ButtonGroup gBt;
public Teste () {
super("Teste");
Container c = this.getContentPane();
c.setLayout(null);
JLabel label1 = new JLabel("Nome:");
label1.setBounds(20, 20, 50, 20);
JLabel label2 = new JLabel("Endereço:");
label2.setBounds(20, 50, 70, 20);
JLabel label3 = new JLabel("Sexo:");
label3.setBounds(20, 80, 70, 20);
c.add(label1);
c.add(label2);
c.add(label3);
JTextField texto1 = new JTextField();
texto1.setBounds(92,20,200,20);
JTextField texto2= new JTextField();
texto2.setBounds(92,50,200,20);
c.add(texto1);
c.add(texto2);
JRadioButton rBt1 = new JRadioButton("Masculino");
rBt1.setBounds(92,80, 90, 20);
JRadioButton rBt2 = new JRadioButton("Feminino");
rBt2.setBounds(190,80, 90, 20);
c.add(rBt1);
c.add(rBt2);
gBt = new ButtonGroup();
gBt.add(rBt1);
gBt.add(rBt2);
JButton lBt = new JButton("Limpar");
lBt.setBounds(150,150,100,30);
lBt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
// limpando vários JTextField
for(int i = 0;i < getContentPane().getComponentCount();i++) {
Component cp = getContentPane().getComponent(i);
if (cp instanceof JTextField) {
JTextField field = (JTextField) cp;
field.setText("");
}
}
gBt.clearSelection(); // e se houvesse vários ButtonGroup ?
}
});
c.add(lBt);
this.setSize(400,250);
this.setVisible(true);
}
public static void main(String [] argumentos) {
Teste teste = new Teste();
}
}