Agrupar RadioButtons em ButtonGroup... HELP!

Galera, sou iniciante em JAVA, e estou desenvolvendo uma aplicação através do eclipse, usando um plugin visual editor…

Criei alguns RadioButtons, mas eles são independentes… Gostaria de agrupá-los para poder selecionar apenas um deles, e não todos… Ou seja, marquei um, desmarcou os outros.

Procurei por ButtonGroup na Internet e até achei algumas coisas, mas não consegui implementá-lo no meu código, apresenta erro…
Poderiam me ajudar? O código da minha interface é o seguinte:

import javax.swing.JPanel;
import javax.swing.JDialog;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Point;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.BorderFactory;
import java.awt.Font;
import javax.swing.JTextPane;
import javax.swing.JRadioButton;
import javax.swing.JCheckBox;
import javax.swing.JScrollPane;
import java.awt.event.KeyEvent;

public class PingNow extends JDialog {

	private JPanel frmPrincipal = null;
	private JPanel frmLocal = null;
	private JTextField txtLocal = null;
	private JTextPane labLocal = null;
	private JPanel frmEquipamento = null;
	private JPanel frmEstacaoLocaDDR = null;
	private JPanel frmTesteContinuo = null;
	private JButton btnTesteAvancado = null;
	private JButton btnTestar = null;
	private JButton btnParar = null;
	private JButton btnNovoTeste = null;
	private JButton btnAjuda = null;
	private JTextPane labEquipamento = null;
	private JRadioButton optServidor = null;
	private JRadioButton optAutoAtendimento = null;
	private JRadioButton optRetaguarda = null;
	private JRadioButton optCaixa = null;
	private JTextField txtEstacaoLocaDDR = null;
	private JTextPane labEstacaoLocaDDR = null;
	private JCheckBox optTesteContinuo = null;
	private JTextPane labTesteContinuo = null;
	private JScrollPane txtResultados = null;
	private JPanel frmResultados = null;

	public PingNow() {
		super();
		initialize();
	}
	
	private JPanel getFrmPrincipal() {
		if (frmPrincipal == null) {
			frmPrincipal = new JPanel();
			frmPrincipal.setLayout(null);
			frmPrincipal.setBackground(Color.white);
			frmPrincipal.add(getFrmLocal(), null);
			frmPrincipal.add(getFrmEquipamento(), null);
			frmPrincipal.add(getFrmEstacaoLocaDDR(), null);
			frmPrincipal.add(getFrmTesteContinuo(), null);
			frmPrincipal.add(getBtnTesteAvancado(), null);
			frmPrincipal.add(getBtnTestar(), null);
			frmPrincipal.add(getBtnParar(), null);
			frmPrincipal.add(getBtnNovoTeste(), null);
			frmPrincipal.add(getBtnAjuda(), null);
			frmPrincipal.add(getFrmResultados(), null);
		}
		return frmPrincipal;
	}

	private JPanel getFrmLocal() {
		if (frmLocal == null) {
			frmLocal = new JPanel();
			frmLocal.setLayout(null);
			frmLocal.setSize(new Dimension(100, 85));
			frmLocal.setBackground(new Color(255, 254, 254));
			frmLocal.setBorder(BorderFactory.createLineBorder(Color.black, 1));
			frmLocal.setLocation(new Point(12, 11));
			frmLocal.add(getTxtLocal(), null);
			frmLocal.add(getLabLocal(), null);
		}
		return frmLocal;
	}

	private JTextField getTxtLocal() {
		if (txtLocal == null) {
			txtLocal = new JTextField();
			txtLocal.setLocation(new Point(30, 34));
			txtLocal.setToolTipText("Digite o código do local com 4 dígitos.");
			txtLocal.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
			txtLocal.setHorizontalAlignment(JTextField.CENTER);
			txtLocal.setColumns(0);
			txtLocal.setSize(new Dimension(40, 19));
		}
		return txtLocal;
	}

	private JTextPane getLabLocal() {
		if (labLocal == null) {
			labLocal = new JTextPane();
			labLocal.setEditable(false);
			labLocal.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
			labLocal.setSize(new Dimension(95, 18));
			labLocal.setLocation(new Point(2, 1));
			labLocal.setText("Código do Local");
		}
		return labLocal;
	}

	private JPanel getFrmEquipamento() {
		if (frmEquipamento == null) {
			frmEquipamento = new JPanel();
			frmEquipamento.setLayout(null);
			frmEquipamento.setBorder(BorderFactory.createLineBorder(Color.black, 1));
			frmEquipamento.setLocation(new Point(154, 11));
			frmEquipamento.setSize(new Dimension(161, 85));
			frmEquipamento.setBackground(Color.white);
			frmEquipamento.add(getLabEquipamento(), null);
			frmEquipamento.add(getOptServidor(), null);
			frmEquipamento.add(getOptRetaguarda(), null);
			frmEquipamento.add(getOptAutoAtendimento(), null);
			frmEquipamento.add(getOptCaixa(), null);
		}
		return frmEquipamento;
	}

	private JPanel getFrmEstacaoLocaDDR() {
		if (frmEstacaoLocaDDR == null) {
			frmEstacaoLocaDDR = new JPanel();
			frmEstacaoLocaDDR.setLayout(null);
			frmEstacaoLocaDDR.setLocation(new Point(356, 11));
			frmEstacaoLocaDDR.setBorder(BorderFactory.createLineBorder(Color.black, 1));
			frmEstacaoLocaDDR.setBackground(Color.white);
			frmEstacaoLocaDDR.setSize(new Dimension(120, 85));
			frmEstacaoLocaDDR.add(getTxtEstacaoLocaDDR(), null);
			frmEstacaoLocaDDR.add(getLabEstacaoLocaDDR(), null);
		}
		return frmEstacaoLocaDDR;
	}

	private JPanel getFrmTesteContinuo() {
		if (frmTesteContinuo == null) {
			frmTesteContinuo = new JPanel();
			frmTesteContinuo.setLayout(null);
			frmTesteContinuo.setLocation(new Point(520, 11));
			frmTesteContinuo.setBackground(Color.white);
			frmTesteContinuo.setBorder(BorderFactory.createLineBorder(Color.black, 1));
			frmTesteContinuo.setSize(new Dimension(110, 85));
			frmTesteContinuo.add(getOptTesteContinuo(), null);
			frmTesteContinuo.add(getLabTesteContinuo(), null);
		}
		return frmTesteContinuo;
	}

	private JButton getBtnTesteAvancado() {
		if (btnTesteAvancado == null) {
			btnTesteAvancado = new JButton();
			btnTesteAvancado.setLocation(new Point(153, 100));
			btnTesteAvancado.setText("Teste Avançado");
			btnTesteAvancado.setToolTipText("Use esta opção para pingar um IP específico.");
			btnTesteAvancado.setSize(new Dimension(161, 25));
		}
		return btnTesteAvancado;
	}

	private JButton getBtnTestar() {
		if (btnTestar == null) {
			btnTestar = new JButton();
			btnTestar.setLocation(new Point(480, 240));
			btnTestar.setText("Testar");
			btnTestar.setToolTipText("Clique neste botão para iniciar os testes.");
			btnTestar.setSize(new Dimension(73, 25));
		}
		return btnTestar;
	}

	private JButton getBtnParar() {
		if (btnParar == null) {
			btnParar = new JButton();
			btnParar.setLocation(new Point(560, 240));
			btnParar.setText("Parar");
			btnParar.setToolTipText("Clique neste botão para parar os testes.");
			btnParar.setSize(new Dimension(73, 25));
		}
		return btnParar;
	}

	private JButton getBtnNovoTeste() {
		if (btnNovoTeste == null) {
			btnNovoTeste = new JButton();
			btnNovoTeste.setLocation(new Point(480, 272));
			btnNovoTeste.setText("Novo Teste");
			btnNovoTeste.setToolTipText("Clique neste botão para efetuar um novo teste.");
			btnNovoTeste.setSize(new Dimension(153, 25));
		}
		return btnNovoTeste;
	}

	private JButton getBtnAjuda() {
		if (btnAjuda == null) {
			btnAjuda = new JButton();
			btnAjuda.setLocation(new Point(11, 389));
			btnAjuda.setText("Ajuda");
			btnAjuda.setToolTipText("Abre a documentação de ajuda.");
			btnAjuda.setSize(new Dimension(73, 25));
		}
		return btnAjuda;
	}

	private JTextPane getLabEquipamento() {
		if (labEquipamento == null) {
			labEquipamento = new JTextPane();
			labEquipamento.setText("Equipamento");
			labEquipamento.setEditable(false);
			labEquipamento.setLocation(new Point(42, 1));
			labEquipamento.setSize(new Dimension(80, 21));
			labEquipamento.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
		}
		return labEquipamento;
	}

	private JRadioButton getOptServidor() {
		if (optServidor == null) {
			optServidor = new JRadioButton();
			optServidor.setText("Servidor");
			optServidor.setBackground(Color.white);
			optServidor.setSize(new Dimension(159, 12));
			optServidor.setLocation(new Point(1, 23));
			optServidor.setMnemonic(KeyEvent.VK_UNDEFINED);
			optServidor.setName("optServidor");
			optServidor.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
		}
		return optServidor;
	}

	private JRadioButton getOptAutoAtendimento() {
		if (optAutoAtendimento == null) {
			optAutoAtendimento = new JRadioButton();
			optAutoAtendimento.setText("Auto-Atendimento");
			optAutoAtendimento.setBackground(Color.white);
			optAutoAtendimento.setSize(new Dimension(159, 12));
			optAutoAtendimento.setLocation(new Point(1, 37));
			optAutoAtendimento.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
		}
		return optAutoAtendimento;
	}

	private JRadioButton getOptRetaguarda() {
		if (optRetaguarda == null) {
			optRetaguarda = new JRadioButton();
			optRetaguarda.setText("Terminal de Retaguarda");
			optRetaguarda.setBackground(Color.white);
			optRetaguarda.setSize(new Dimension(159, 12));
			optRetaguarda.setLocation(new Point(1, 51));
			optRetaguarda.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
		}
		return optRetaguarda;
	}

	private JRadioButton getOptCaixa() {
		if (optCaixa == null) {
			optCaixa = new JRadioButton();
			optCaixa.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
			optCaixa.setBackground(Color.white);
			optCaixa.setSize(new Dimension(159, 12));
			optCaixa.setLocation(new Point(1, 65));
			optCaixa.setText("Terminal de Caixa");
		}
		return optCaixa;
	}

	private JTextField getTxtEstacaoLocaDDR() {
		if (txtEstacaoLocaDDR == null) {
			txtEstacaoLocaDDR = new JTextField();
			txtEstacaoLocaDDR.setToolTipText("Digite o número da estação ou do LocaDDR com 3 dígitos.");
			txtEstacaoLocaDDR.setSize(new Dimension(40, 19));
			txtEstacaoLocaDDR.setHorizontalAlignment(JTextField.CENTER);
			txtEstacaoLocaDDR.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
			txtEstacaoLocaDDR.setLocation(new Point(41, 34));
		}
		return txtEstacaoLocaDDR;
	}

	private JTextPane getLabEstacaoLocaDDR() {
		if (labEstacaoLocaDDR == null) {
			labEstacaoLocaDDR = new JTextPane();
			labEstacaoLocaDDR.setText("Estação / LocaDDR");
			labEstacaoLocaDDR.setEditable(false);
			labEstacaoLocaDDR.setSize(new Dimension(113, 21));
			labEstacaoLocaDDR.setLocation(new Point(3, 1));
			labEstacaoLocaDDR.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
		}
		return labEstacaoLocaDDR;
	}

	private JCheckBox getOptTesteContinuo() {
		if (optTesteContinuo == null) {
			optTesteContinuo = new JCheckBox();
			optTesteContinuo.setBackground(Color.white);
			optTesteContinuo.setSize(new Dimension(21, 21));
			optTesteContinuo.setToolTipText("Marque esta caixa caso deseje executar o teste continuamente.");
			optTesteContinuo.setLocation(new Point(44, 32));
		}
		return optTesteContinuo;
	}

	private JTextPane getLabTesteContinuo() {
		if (labTesteContinuo == null) {
			labTesteContinuo = new JTextPane();
			labTesteContinuo.setText("Teste Contínuo");
			labTesteContinuo.setEditable(false);
			labTesteContinuo.setSize(new Dimension(88, 21));
			labTesteContinuo.setLocation(new Point(11, 1));
			labTesteContinuo.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
		}
		return labTesteContinuo;
	}

	private JScrollPane getTxtResultados() {
		if (txtResultados == null) {
			txtResultados = new JScrollPane();
			txtResultados.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
			txtResultados.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
			txtResultados.setBackground(Color.white);
			txtResultados.getViewport().setBackground(Color.white);
			txtResultados.setSize(new Dimension(441, 121));
			txtResultados.setLocation(new Point(8, 9));
			txtResultados.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
		}
		return txtResultados;
	}

	private JPanel getFrmResultados() {
		if (frmResultados == null) {
			frmResultados = new JPanel();
			frmResultados.setLayout(null);
			frmResultados.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
			frmResultados.setSize(new Dimension(457, 139));
			frmResultados.setLocation(new Point(16, 240));
			frmResultados.setBackground(Color.white);
			frmResultados.add(getTxtResultados(), null);
		}
		return frmResultados;
	}
	
	private void initialize() {
		this.setTitle("Ping Now 1.1");
		this.setContentPane(getFrmPrincipal());
		this.setBackground(Color.white);
		this.setSize(new Dimension(649, 458));
		this.setLocation(new Point(0, 0));
		this.setResizable(false);
		this.setVisible(true);
	}	
}

Muito grato a quem puder me ajudar! Isso é muito importante para mim… Obrigado!

Ninguém?

[]'s