ButtonGroup - Como otimizar o uso do método clearSelection()?

0 respostas
R

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();
	}
}
Criado 9 de março de 2009
Respostas 0
Participantes 1