JRadioButton não está atuando. Me ajudem por favor!

Olá. Não estou conseguindo resolver 03 JRadioButtons. Cada um deles deve fazer a seleção JPanel com layouts específicos (numero de botoes). Mas não estão atuando. Eis os codigos.

public JPanel quadro01 = new JPanel();
public JPanel quadro02 = new JPanel();
public JPanel quadro03 = new JPanel();
public JPanel quadro04 = new JPanel();

public JRadioButton rd1 = new JRadioButton("08 Botões", true);     //08
public JRadioButton rd2 = new JRadioButton("16 Botões", false);;   //16
public JRadioButton rd3 = new JRadioButton("32 Botões", false);;   //32

class Evento implements ActionListener {
public void actionPerformed(ActionEvent e) {
String atuar = e.getActionCommand();
switch(atuar) {
case “rd_01”: Quadro08(); break;
case “rd_02”: Quadro16(); break;
case “rd_03”: Quadro32(); break;
} } }

Os quadros que deveriam ser mostrados a cada seleção nos rdX são semelhantes a este.

public void Quadro08() {
quadro04.setLayout(new GridLayout(2,2));
quadro04.add(botao01);
quadro04.add(botao02);
quadro04.add(botao03);
quadro04.add(botao04);
quadro04.add(botao05);
quadro04.add(botao06);
quadro04.add(botao07);
quadro04.add(botao08);
}

Obrigado.

Registrou os listeners?
Posta o código completo da classe.

Eita. Separei tudo que diz respeito aos radios. A classe toda ta muito extensa. Não sei separar as coisas em classe ainda. Desculpa. Creio que vai ficar longa demais a postagem.

Sobe no pastebin e posta :wink:

package projetojmemoria;
//
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.Timer;

/**
*

  • @author Luiz Carlos
    */
    public class ProjetoJMemoria implements ActionListener {
    public JFrame telajogo = new JFrame();
    public JPanel quadbase = new JPanel();
    public JPanel quadro01 = new JPanel();
    public JPanel quadro02 = new JPanel();
    public JPanel quadro03 = new JPanel();
    public JPanel quadro04 = new JPanel();
    //
    public JFrame fundo01 = new JFrame();
    public JFrame fundo02 = new JFrame();
    public JFrame fundo03 = new JFrame();
    public JFrame fundo04 = new JFrame();
    //
    public JLabel txtTempo = new JLabel (“Tipo :”); //Tempo:
    public JLabel txtClick = new JLabel (“Click :”); //Click:
    public JLabel txtDireto = new JLabel (“Direto :”); //Direto:
    public JLabel txtPartidas = new JLabel (“Partidas:”); //

    public JLabel txtQTempo = new JLabel(“000”); //000
    public JLabel txtQClick = new JLabel(“000”); //000
    public JLabel txtQDireto = new JLabel(“000”); //000
    public JLabel txtQPartidas = new JLabel(“000”);//000

    public JButton botaoE1 = new JButton(); //Inicio
    public JButton botaoE2 = new JButton(); //Sair
    public JButton botaoE3 = new JButton(); //Pausa

    public JRadioButton rd1 = new JRadioButton(“08 Botões”, true); //08
    public JRadioButton rd2 = new JRadioButton(“16 Botões”, false);; //16
    public JRadioButton rd3 = new JRadioButton(“32 Botões”, false);; //32

    public ButtonGroup grupo = new ButtonGroup(); //cria o grupo para suportar os JRadiobuttons

    public JTextField tempo = new JTextField(“00:00:00”);

    JComboBox combo1 = new JComboBox();

    public JButton botaoCm = new JButton();
    public JButton botaoBx = new JButton();

    public JButton botao01 = new JButton();
    public JButton botao02 = new JButton();
    public JButton botao03 = new JButton();
    public JButton botao04 = new JButton();
    public JButton botao05 = new JButton();
    public JButton botao06 = new JButton();
    public JButton botao07 = new JButton();
    public JButton botao08 = new JButton();
    public JButton botao09 = new JButton();
    public JButton botao10 = new JButton();
    public JButton botao11 = new JButton();
    public JButton botao12 = new JButton();
    public JButton botao13 = new JButton();
    public JButton botao14 = new JButton();
    public JButton botao15 = new JButton();
    public JButton botao16 = new JButton();
    public JButton botao17 = new JButton();
    public JButton botao18 = new JButton();
    public JButton botao19 = new JButton();
    public JButton botao20 = new JButton();
    public JButton botao21 = new JButton();
    public JButton botao22 = new JButton();
    public JButton botao23 = new JButton();
    public JButton botao24 = new JButton();
    public JButton botao25 = new JButton();
    public JButton botao26 = new JButton();
    public JButton botao27 = new JButton();
    public JButton botao28 = new JButton();
    public JButton botao29 = new JButton();
    public JButton botao30 = new JButton();
    public JButton botao31 = new JButton();
    public JButton botao32 = new JButton();
    long hora;
    //=========================================================================
    class Evento implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    String atuar = e.getActionCommand();
    switch(atuar) {
    case “rd_01”:
    Quadro08(); //quadro com 08 botões
    break;
    case “rd_02”:
    Quadro16(); //quadro com 16 botões
    break;
    case “rd_03”:
    Quadro32(); //quadro com 32 botões
    break;
    }
    tempo.setText(0+"");
    }
    }
    //======================================//não alterar acima deste=============
    public void DefinePaineis() {
    quadbase.setLayout(null);
    quadbase.setBackground(Color.black);
    quadbase.setBounds(01,01,500,600);
    //===========================
    Quadro01();
    Quadro02();
    Quadro03();
    Quadro04();
    //
    quadbase.add(quadro01);
    quadbase.add(quadro02);
    quadbase.add(quadro03);
    quadbase.add(quadro04);
    telajogo.add(quadbase);
    }
    //======================================//não alterar acima deste===========
    public void Quadro01() { //Quadro de botoes de controle
    quadro01.getComponents();
    quadro01.setLayout(null);
    quadro01.setBackground(Color.ORANGE);
    quadro01.setBounds(05,05,110,275);
    }
    //======================================//não alterar acima deste
    public void Quadro02() { //Quadro painel de controles (base da tela)
    quadro02.setLayout(null);
    quadro02.setBackground(Color.blue);
    quadro02.setBounds(05,460,565,95);
    }
    //======================================//não alterar acima deste
    public void Quadro03() { //Quadro para aviso de pontos (mini placar)
    quadro03.setLayout(null);
    quadro03.setBackground(Color.MAGENTA);
    quadro03.setBounds(05,285,110,170);
    }
    //======================================//não alterar acima deste
    public void Quadro04() { //Quadro para o jogo de botoes
    quadro04.setLayout(null);
    quadro04.setBackground(Color.YELLOW);
    quadro04.setBounds(120,05,450,450);
    }
    //======================================
    public void DefineQuadro01(){ //setBounds(05,285,110,170);
    Font mensa1 = new Font(“Arial Black”, Font.BOLD, 40);
    botaoE1.setFont(mensa1);
    botaoE2.setFont(mensa1);
    botaoE3.setFont(mensa1);

     botaoE1 = new JButton("INICIO");
     botaoE2 = new JButton("PAUSA");
     botaoE3 = new JButton("SAIR");
     
     botaoE1.setBounds( 01, 01,108,90);
     botaoE2.setBounds( 01, 92,108,90);
     botaoE3.setBounds( 01,183,108,90);
     
     quadro01.add(botaoE1);
     quadro01.add(botaoE2);
     quadro01.add(botaoE3);
    

    }
    //======================================//não alterar acima deste
    public void DefineQuadro02() {
    Font mensa1 = new Font(“Arial Narrow”, Font.BOLD, 20);
    botaoCm.setFont(mensa1);
    botaoBx.setFont(mensa1);

     botaoCm = new JButton("01");
     botaoBx = new JButton("02");
     
     botaoCm.setBounds( 375,05,90,85);
     botaoBx.setBounds( 470,05,90,85);
     quadro02.add(botaoCm);
     quadro02.add(botaoBx);
    

    }
    //=====================================
    public void MontaComboQuadro02() { //05,460,565,95);
    quadro02.add(combo1);

     Font mensa1 = new Font("Arial Narrow", Font.BOLD, 20);
     combo1.setFont(mensa1);
     combo1.setForeground(Color.WHITE);    //cor para os radiobuttons
     combo1.setBackground(Color.BLUE);
     
     combo1.addItem("Família");
     combo1.addItem("Frutas");
     combo1.addItem("Animais");
     
     combo1.setBounds(05,05,140,30);
    

    }
    //======================================//não alterar acima deste
    public void DefineTempoQuadro02() {
    quadro02.add(tempo);
    Font mensa0 = new Font(“Arial Narrow”, Font.BOLD, 40);
    tempo.setFont(mensa0);
    tempo.setBackground(Color.BLUE);
    tempo.setForeground(Color.yellow);
    tempo.setBounds( 05,40,140,40);
    tempo.setHorizontalAlignment(tempo.CENTER);
    tempo.setText(“00:00:00”);
    }
    //=====================================
    public void MontaJRadioQuadro02() {
    grupo.add(rd1);
    grupo.add(rd2);
    grupo.add(rd3);

     rd1.setForeground(Color.WHITE);    //cor para os radiobuttons
     rd1.setBackground(Color.BLUE);
     quadro01.add(rd1);
     rd1.setBounds( 230,05,100,25);
     
     rd2.setForeground(Color.WHITE);
     rd2.setBackground(Color.BLUE);
     quadro01.add(rd2);
     rd2.setBounds( 230,35,100,25);
     
     rd3.setForeground(Color.WHITE);
     rd3.setBackground(Color.BLUE);
     quadro01.add(rd3);
     rd3.setBounds( 230,65,100,25);
     
     quadro02.add(rd1);
     quadro02.add(rd2);
     quadro02.add(rd3);
    

    }
    //======================================//não alterar acima deste
    public void DefineQuadro03() { //(05,285,110,170);
    Font mensa0 = new Font(“Arial Narrow”, Font.BOLD, 14);
    txtTempo.setFont(mensa0);
    txtTempo.setBounds ( 05, 05,50,40);
    txtTempo.setForeground(Color.WHITE);
    quadro03.add(txtTempo);

     txtClick.setFont(mensa0);
     txtClick.setForeground(Color.WHITE);
     txtClick.setBounds      ( 05, 45,50,40);
     quadro03.add(txtClick);
     
     txtDireto.setFont(mensa0);
     txtDireto.setForeground(Color.WHITE);
     txtDireto.setBounds     ( 05, 85,50,40);
     quadro03.add(txtDireto);
     
     txtPartidas.setFont(mensa0);
     txtPartidas.setForeground(Color.WHITE);
     txtPartidas.setBounds   ( 05,125,50,40);
     quadro03.add(txtPartidas);
     //-----------------------------------------
     Font mensa1 = new Font("Arial Narrow", Font.BOLD, 20);
     txtQTempo.setFont(mensa1);
     txtQTempo.setForeground(Color.WHITE);
     txtQTempo.setBounds    (70, 05,100,40);
     quadro03.add(txtQTempo);
     
     txtQClick.setFont(mensa1);
     txtQClick.setForeground(Color.WHITE);
     txtQClick.setBounds    (70, 45,100,40);
     quadro03.add(txtQClick);
     
     txtQDireto.setFont(mensa1);
     txtQDireto.setForeground(Color.WHITE);
     txtQDireto.setBounds   (70, 85,100,40);
     quadro03.add(txtQDireto);
     
     txtQPartidas.setFont(mensa1);
     txtQPartidas.setForeground(Color.WHITE);
     txtQPartidas.setBounds (70,125,100,40);
     quadro03.add(txtQPartidas);
    

    }
    //======================================
    public ProjetoJMemoria() {
    ActionListener actionListener = new Evento();

     telajogo.getContentPane().setBackground(Color.BLUE);
     telajogo.setBounds(250, 100, 590,600);
     telajogo.setLayout(new GridLayout());
     telajogo.setDefaultCloseOperation(3); //exit on close
     telajogo.setLocationRelativeTo(null); //posiciona a janela no centro da tela
     telajogo.setVisible(true);
     //
     DefinePaineis();
     DefineQuadro01();
     DefineQuadro02();
     DefineQuadro03();
     DefineTempoQuadro02();
     MontaJRadioQuadro02();
     MontaComboQuadro02();
     
     rd1.setActionCommand("rd_01");
     rd2.setActionCommand("rd_02");
     rd3.setActionCommand("rd_03");
     
     rd1.addActionListener(actionListener );
     rd2.addActionListener(actionListener );
     rd3.addActionListener(actionListener );
     
     Quadro08();
     
     ContaTempo();
    

    }

    @Override
    public void actionPerformed(ActionEvent e) {
    throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.
    }
    //======================================//não alterar acima deste
    public void Quadro08() {
    quadro04.setLayout(new GridLayout(2,2));
    quadro04.add(botao01);
    quadro04.add(botao02);
    quadro04.add(botao03);
    quadro04.add(botao04);
    quadro04.add(botao05);
    quadro04.add(botao06);
    quadro04.add(botao07);
    quadro04.add(botao08);
    }
    //======================================
    public void Quadro16() {
    quadro04.setLayout(new GridLayout(4,4));
    quadro04.add(botao01);
    quadro04.add(botao02);
    quadro04.add(botao03);
    quadro04.add(botao04);
    quadro04.add(botao05);
    quadro04.add(botao06);
    quadro04.add(botao07);
    quadro04.add(botao08);
    quadro04.add(botao09);
    quadro04.add(botao10);
    quadro04.add(botao11);
    quadro04.add(botao12);
    quadro04.add(botao13);
    quadro04.add(botao14);
    quadro04.add(botao15);
    quadro04.add(botao16);
    }
    //======================================
    public void Quadro32() {
    quadro04.setLayout(new GridLayout(8,8));
    quadro04.add(botao01);
    quadro04.add(botao02);
    quadro04.add(botao03);
    quadro04.add(botao04);
    quadro04.add(botao05);
    quadro04.add(botao06);
    quadro04.add(botao07);
    quadro04.add(botao08);
    quadro04.add(botao09);
    quadro04.add(botao10);
    quadro04.add(botao11);
    quadro04.add(botao12);
    quadro04.add(botao13);
    quadro04.add(botao14);
    quadro04.add(botao15);
    quadro04.add(botao16);
    quadro04.add(botao17);
    quadro04.add(botao18);
    quadro04.add(botao19);
    quadro04.add(botao20);
    quadro04.add(botao21);
    quadro04.add(botao22);
    quadro04.add(botao23);
    quadro04.add(botao24);
    quadro04.add(botao25);
    quadro04.add(botao26);
    quadro04.add(botao27);
    quadro04.add(botao28);
    quadro04.add(botao29);
    quadro04.add(botao30);
    quadro04.add(botao31);
    quadro04.add(botao32);
    }
    //======================================//não alterar acima deste
    public void ContaTempo(){//aceita um TextField como parametro para mostrar no Frame
    while(true){
    hora = System.currentTimeMillis();
    String agora = String.format("%trS",hora);
    tempo.setText(agora + “”);//joga para o TextField
    try{ Thread.sleep(1000); } catch( InterruptedException e ){}
    }
    }
    //======================================//não alterar acima deste

    //======================================//não alterar acima deste
    public static void main(String[] args) {

      new ProjetoJMemoria();
    

    }
    //======================================//não alterar acima deste=============
    }