Dúvidas com JRadioButton

3 respostas
R

Pessoal estou pretendendo construir um questionário com 20 questões para uma pesquisa, com cinco alternativas, A,B,C,D e E, de modo que se possa ser escolhida somente uma opção, e no final seja exibida a quantidade de respostas corretas, ou seja, quantas o usuário acertou.
Gostaria de uma dica ou mesmo um exemplo em algum link, para eu me situar em como fazer.

3 Respostas

E
/**
 * 
 */
package guj;

import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.SwingUtilities;

/**
 *
 */
public class ExemploRadioButton extends JFrame {

    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JLabel lblQuestao = null;
    private JPanel pnlRadioButtons = null;
    private JRadioButton rdoAlternativaA = null;
    private JRadioButton rdoAlternativaB = null;
    private JRadioButton rdoAlternativaC = null;
    private JRadioButton rdoAlternativaD = null;
    private JRadioButton rdoAlternativaE = null;
    private JPanel pnlButtons = null;
    private JButton btnProximo = null;
    private JButton btnAnterior = null;
    private JButton btnCancelar = null;
    private JButton btnFinalizar = null;
    private ButtonGroup btgRadios = null;

    /**
     * This method initializes pnlRadioButtons
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getPnlRadioButtons() {
        if (pnlRadioButtons == null) {
            pnlRadioButtons = new JPanel();
            btgRadios = new ButtonGroup();
            pnlRadioButtons.setLayout(new BoxLayout(getPnlRadioButtons(), BoxLayout.Y_AXIS));
            pnlRadioButtons.add(getRdoAlternativaA(), null);
            btgRadios.add(getRdoAlternativaA());
            pnlRadioButtons.add(getRdoAlternativaB(), null);
            btgRadios.add(getRdoAlternativaB());
            pnlRadioButtons.add(getRdoAlternativaC(), null);
            btgRadios.add(getRdoAlternativaC());
            pnlRadioButtons.add(getRdoAlternativaD(), null);
            btgRadios.add(getRdoAlternativaD());
            pnlRadioButtons.add(getRdoAlternativaE(), null);
            btgRadios.add(getRdoAlternativaE());
        }
        return pnlRadioButtons;
    }

    /**
     * This method initializes rdoAlternativaA
     * 
     * @return javax.swing.JRadioButton
     */
    private JRadioButton getRdoAlternativaA() {
        if (rdoAlternativaA == null) {
            rdoAlternativaA = new JRadioButton();
            rdoAlternativaA.setText("a) James Gosling");
        }
        return rdoAlternativaA;
    }

    /**
     * This method initializes rdoAlternativaB
     * 
     * @return javax.swing.JRadioButton
     */
    private JRadioButton getRdoAlternativaB() {
        if (rdoAlternativaB == null) {
            rdoAlternativaB = new JRadioButton();
            rdoAlternativaB.setText("b) Anders Hejlsberg");
        }
        return rdoAlternativaB;
    }

    /**
     * This method initializes rdoAlternativaC
     * 
     * @return javax.swing.JRadioButton
     */
    private JRadioButton getRdoAlternativaC() {
        if (rdoAlternativaC == null) {
            rdoAlternativaC = new JRadioButton();
            rdoAlternativaC.setText("c) Guido van Rossum");
        }
        return rdoAlternativaC;
    }

    /**
     * This method initializes rdoAlternativaD
     * 
     * @return javax.swing.JRadioButton
     */
    private JRadioButton getRdoAlternativaD() {
        if (rdoAlternativaD == null) {
            rdoAlternativaD = new JRadioButton();
            rdoAlternativaD.setText("d) Larry Wall");
        }
        return rdoAlternativaD;
    }

    /**
     * This method initializes rdoAlternativaE
     * 
     * @return javax.swing.JRadioButton
     */
    private JRadioButton getRdoAlternativaE() {
        if (rdoAlternativaE == null) {
            rdoAlternativaE = new JRadioButton();
            rdoAlternativaE.setText("e) Martin Odersky");
        }
        return rdoAlternativaE;
    }

    /**
     * This method initializes pnlButtons
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getPnlButtons() {
        if (pnlButtons == null) {
            FlowLayout flowLayout = new FlowLayout();
            flowLayout.setAlignment(FlowLayout.RIGHT);
            pnlButtons = new JPanel();
            pnlButtons.setLayout(flowLayout);
            pnlButtons.add(getBtnAnterior(), null);
            pnlButtons.add(getBtnProximo(), null);
            pnlButtons.add(getBtnCancelar(), null);
            pnlButtons.add(getBtnFinalizar(), null);
        }
        return pnlButtons;
    }

    /**
     * This method initializes btnProximo
     * 
     * @return javax.swing.JButton
     */
    private JButton getBtnProximo() {
        if (btnProximo == null) {
            btnProximo = new JButton();
            btnProximo.setText("Próximo");
        }
        return btnProximo;
    }

    /**
     * This method initializes btnAnterior
     * 
     * @return javax.swing.JButton
     */
    private JButton getBtnAnterior() {
        if (btnAnterior == null) {
            btnAnterior = new JButton();
            btnAnterior.setText("Anterior");
        }
        return btnAnterior;
    }

    /**
     * This method initializes btnCancelar
     * 
     * @return javax.swing.JButton
     */
    private JButton getBtnCancelar() {
        if (btnCancelar == null) {
            btnCancelar = new JButton();
            btnCancelar.setText("Cancelar");
        }
        return btnCancelar;
    }

    /**
     * This method initializes btnFinalizar
     * 
     * @return javax.swing.JButton
     */
    private JButton getBtnFinalizar() {
        if (btnFinalizar == null) {
            btnFinalizar = new JButton();
            btnFinalizar.setText("Finalizar");
        }
        return btnFinalizar;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                ExemploRadioButton thisClass = new ExemploRadioButton();
                thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                thisClass.setVisible(true);
            }
        });
    }

    /**
     * This is the default constructor
     */
    public ExemploRadioButton() {
        super();
        initialize();
    }

    /**
     * This method initializes this
     * 
     * @return void
     */
    private void initialize() {
        this.setSize(379, 239);
        this.setContentPane(getJContentPane());
        this.setTitle("JFrame");
    }

    /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            lblQuestao = new JLabel();
            lblQuestao.setText("1) Quem foi o inventor do Java?");
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
            jContentPane.add(lblQuestao, BorderLayout.NORTH);
            jContentPane.add(getPnlRadioButtons(), BorderLayout.CENTER);
            jContentPane.add(getPnlButtons(), BorderLayout.SOUTH);
        }
        return jContentPane;
    }

} // @jve:decl-index=0:visual-constraint="25,6"


E

http://java.sun.com/docs/books/tutorial/uiswing/

R

Alguém tem algum exemplo usando o Netbeans?

Criado 22 de agosto de 2010
Ultima resposta 23 de ago. de 2010
Respostas 3
Participantes 2