Duvidas e/ou Problemas de Layout

Preciso de ajuda num layout.
Não estou conseguindo resolver sozinho. Quando seleciono os formatos de tela com numero de
botoes, ta dando um erro ( empaquei!!!).
Os comandos dos radiobuttons estão com problemas…

package jmemoria;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

/**
*

  • @author Luiz Carlos
    */
    public class JMemoria extends JFrame {
    PreparaTela prepTela = new PreparaTela();
    //=====================================
    public static void main(String[] args) {
    new JMemoria();
    }
    //-------------------------------------------------------
    public JMemoria() {
    prepTela.PreparaTela();

    }
    }
    //===============Fim da Classe JMemoria.java
    package jmemoria;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
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;
/**
*

  • @author Luiz Carlos
    */
    //-------------------------------------------------------
    public class PreparaTela extends JFrame{
    JButton botaoE1 = new JButton(“Início”);
    JButton botaoE2 = new JButton(“Pausa”);
    JButton botaoE3 = new JButton(“Continuar”);
    JButton botaoE4 = new JButton(“Sair”);

    JComboBox combo = new JComboBox();

    JLabel txtTempo = new JLabel(“Tempo”);
    JLabel txtClicks = new JLabel(“Clicks”);
    JLabel txtDireto = new JLabel(“Direto”);
    JLabel txtCategorias = new JLabel(“Categorias”);

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

    JLabel txtPartidas = new JLabel(“Qtde de Partidas”);
    JLabel txtJogadas = new JLabel(“Qtde de Jogadas”);
    JLabel txtQPartidas = new JLabel(“0000”);
    JLabel txtQJogadas = new JLabel(“0000”);

    JButton botaoPCima = new JButton(“Sobe”);
    JButton botaoPBaixo = new JButton(“Desce”);

    JFrame tela = new JFrame(); //Tela principal (botoes de escolha_)
    JPanel paineldeBotoes = new JPanel();
    JPanel paineldePlacar = new JPanel();
    JPanel painelJogo = new JPanel();
    JPanel paineldeMensagem = new JPanel();

    JRadioButton rd1 = new JRadioButton(“16 X”, false); //16 botoes
    JRadioButton rd2 = new JRadioButton(“24 X”, false);; //24 botoes
    JRadioButton rd3 = new JRadioButton(“32 X”, false);; //32 botoes

    Font mensa0 = new Font(“Arial Narrow”, Font.BOLD, 18);

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

    RadioButtonHandler handler = new RadioButtonHandler(); //cria a classe handler para os acionamentos dos radiobuttons

    private JButton botaoCm;
    private JButton botaoBx;

    JButton botao1 = new JButton();
    JButton botao2 = new JButton();
    JButton botao3 = new JButton();
    JButton botao4 = new JButton();
    JButton botao5 = new JButton();
    JButton botao6 = new JButton();
    JButton botao7 = new JButton();
    JButton botao8 = new JButton();
    JButton botao9 = new JButton();
    JButton botao10 = new JButton();
    JButton botao11 = new JButton();
    JButton botao12 = new JButton();
    JButton botao13 = new JButton();
    JButton botao14 = new JButton();
    JButton botao15 = new JButton();
    JButton botao16 = new JButton();
    JButton botao17 = new JButton();
    JButton botao18 = new JButton();
    JButton botao19 = new JButton();
    JButton botao20 = new JButton();
    JButton botao21 = new JButton();
    JButton botao22 = new JButton();
    JButton botao23 = new JButton();
    JButton botao24 = new JButton();
    JButton botao25 = new JButton();
    JButton botao26 = new JButton();
    JButton botao27 = new JButton();
    JButton botao28 = new JButton();
    JButton botao29 = new JButton();
    JButton botao30 = new JButton();
    JButton botao31 = new JButton();
    JButton botao32 = new JButton();

//-------------------------------------------------------
public void PreparaTela() {
Container c = getContentPane();
c.setBackground(Color.BLUE);

    tela.setBounds(100, 100, 605, 565);
    tela.setResizable(false);
    tela.setLocationRelativeTo(null); //posiciona a janela no centro da tela
    tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    tela.setVisible(true);

    MontaPaineis();
    
    tela.setLayout(new BorderLayout());
    
    PopularPaineis();
    AcoesNosPaineis();
}
//-------------------------------------------------------
public void MontaPaineis() {
    //============= Painel1
    paineldeBotoes.setLayout(null);
    paineldeBotoes.setBackground(Color.ORANGE);
    paineldeBotoes.setBounds(05,05,100,265);
    tela.add(paineldeBotoes);
    //============= Painel2
    paineldePlacar.setLayout(null);
    paineldePlacar.setBackground(Color.RED);
    paineldePlacar.setBounds(05,390,100,80);
    tela.add(paineldePlacar);
    //============= Painel3
    painelJogo.setLayout(null);
    painelJogo.setBackground(Color.GREEN);
    painelJogo.setBounds(110,05,485,465);
    tela.add(painelJogo);
    //============= Painel4
    paineldeMensagem.setLayout(null);
    paineldeMensagem.setBounds(05,475,590,55);
    paineldeMensagem.setBackground(Color.WHITE);
    tela.add(paineldeMensagem);
    //============= 
}
//-------------------------------------------------------
void PopularPaineis() {
    botaoE1.setBounds(05, 05,90,60);
    botaoE2.setBounds(05, 70,90,60);
    botaoE3.setBounds(05,135,90,60);
    botaoE4.setBounds(05,200,90,60);

    paineldeBotoes.add(botaoE1);
    paineldeBotoes.add(botaoE2);
    paineldeBotoes.add(botaoE3);
    paineldeBotoes.add(botaoE4);
    //=========== Painel1
    txtTempo.setBounds      (05,10,50,20);
    txtClicks.setBounds     (05,30,50,20);
    txtDireto.setBounds     (05,50,50,20);

    Font mensa0 = new Font("Arial Narrow", Font.BOLD, 18);
    txtTempo.setFont(mensa0);
    txtClicks.setFont(mensa0);
    txtDireto.setFont(mensa0);

    paineldePlacar.add(txtTempo);
    paineldePlacar.add(txtClicks);
    paineldePlacar.add(txtDireto);

    txtQTempo.setBounds     (70,10,40,20);
    txtQClick.setBounds     (70,30,40,20);
    txtQDireto.setBounds    (70,50,40,20);

    txtQTempo.setFont(mensa0);
    txtQClick.setFont(mensa0);
    txtQDireto.setFont(mensa0);

    paineldePlacar.add(txtQTempo);
    paineldePlacar.add(txtQClick);
    paineldePlacar.add(txtQDireto);
    //=========== Painel2
    //=========== Painel3
    ButtonGroup grupo       = new ButtonGroup(); //cria o grupo para suportar os JRadiobuttons

    txtCategorias.setBounds(01,05,100,20);
    combo.setBounds(100,05,150,20);

    rd1.setBounds(100,30,50,20);
    rd2.setBounds(155,30,50,20);
    rd3.setBounds(210,30,50,20);

    rd1.setBackground(Color.white);
    rd2.setBackground(Color.white);
    rd3.setBackground(Color.white);

    grupo.add(rd1);    //cria o grupo para operação dos radiobuttons
    grupo.add(rd2);
    grupo.add(rd3);

   rd1.setSelected(true);
        
    paineldeMensagem.add(rd1);
    paineldeMensagem.add(rd2);
    paineldeMensagem.add(rd3);

    txtPartidas.setBounds   (270,05,200,20);
    txtJogadas.setBounds    (270,25,200,20);
    txtQPartidas.setBounds  (400,05,50,20);
    txtQJogadas.setBounds   (400,25,50,20);

    txtCategorias.setFont(mensa0);
    txtPartidas.setFont(mensa0);
    txtJogadas.setFont(mensa0);
    txtQPartidas.setFont(mensa0);
    txtQJogadas.setFont(mensa0);

    paineldeMensagem.add(txtCategorias);
    paineldeMensagem.add(combo);
    paineldeMensagem.add(txtPartidas);
    paineldeMensagem.add(txtJogadas);
    paineldeMensagem.add(txtQPartidas);
    paineldeMensagem.add(txtQJogadas);

    botaoPCima.setBounds(450,05,60,45);
    botaoPBaixo.setBounds(515,05,60,45);

    botaoPCima.setFont(mensa0);
    botaoPBaixo.setFont(mensa0);

    paineldeMensagem.add(botaoPCima);
    paineldeMensagem.add(botaoPBaixo);
    //=========== Painel4
}
//-------------------------------------------------------
public void AcoesNosPaineis() {
    //Controle para os Botoes 01 a 04
    ActionListener event1 = new Evento1();
    botaoE1.setActionCommand("iniciar");
    botaoE2.setActionCommand("pausar");
    botaoE3.setActionCommand("continuar");
    botaoE4.setActionCommand("sair");

    botaoE1.addActionListener(event1);
    botaoE2.addActionListener(event1);
    botaoE3.addActionListener(event1);
    botaoE4.addActionListener(event1);
    //============= Painel1
    //Controle dos RadioButtons
    if (rd1.isSelected() == true){Botoes16();           }
    if (rd2.isSelected() == true){Botoes24();           }
    if (rd3.isSelected() == true){Botoes32();           }

    rd1.addItemListener((ItemListener) handler);     //Radio de controle de opções de jogo
    rd2.addItemListener((ItemListener) handler);     //Radio de controle de opções de jogo
    rd3.addItemListener((ItemListener) handler);
    
    //Controle para os Botoes 01 a 04
    ActionListener event4 = new Evento4();
    botaoPCima.setActionCommand("pcima");
    botaoPBaixo.setActionCommand("pbaixo");

    botaoE1.addActionListener(event4);
    botaoPBaixo.addActionListener(event4);
    //============= Painel4
} 
//================================================
class Evento1 implements ActionListener     {
    @Override
    public void actionPerformed(ActionEvent e) {
        String action = e.getActionCommand();
        switch(action) {
        case "iniciar":
            botaoE1.setEnabled(false);
        break;
        case "pausar":
        break;
        case "continuar":
        break;
        case "sair":
            System.exit(0);
        break;
        }
    }
}
//================================================
class Evento4 implements ActionListener     {
    @Override
    public void actionPerformed(ActionEvent e) {
        String action = e.getActionCommand();
        switch(action) {
        case "pcima":
        break;
        case "pbaixo":
        break;
        }
    }
}
//================================================
void Botoes16() {
    painelJogo.setLayout(null);
    painelJogo.setBackground(Color.GREEN);
    painelJogo.setBounds(110,05,485,465);
    tela.add(painelJogo);
    //============== 16 Botões
    botao1.setBounds(005, 05,115,110);
    botao2.setBounds(125, 05,115,110);
    botao3.setBounds(245, 05,115,110);
    botao4.setBounds(365, 05,115,110);

    botao5.setBounds(005,120,115,110);
    botao6.setBounds(125,120,115,110);
    botao7.setBounds(245,120,115,110);
    botao8.setBounds(365,120,115,110);

    botao9.setBounds(005,235,115,110);
    botao10.setBounds(125,235,115,110);
    botao11.setBounds(245,235,115,110);
    botao12.setBounds(365,235,115,110);

    botao13.setBounds(005,350,115,110);
    botao14.setBounds(125,350,115,110);
    botao15.setBounds(245,350,115,110);
    botao16.setBounds(365,350,115,110);

    Font mensa16 = new Font("Arial Narrow", Font.BOLD, 18);
    botao1.setFont(mensa16);
    botao2.setFont(mensa16);
    botao3.setFont(mensa16);
    botao4.setFont(mensa16);

    botao5.setFont(mensa16);
    botao6.setFont(mensa16);
    botao7.setFont(mensa16);
    botao8.setFont(mensa16);

    botao9.setFont(mensa16);
    botao10.setFont(mensa16);
    botao11.setFont(mensa16);
    botao12.setFont(mensa16);

    botao13.setFont(mensa16);
    botao14.setFont(mensa16);
    botao15.setFont(mensa16);
    botao16.setFont(mensa16);

    painelJogo.add(botao1);
    painelJogo.add(botao2);
    painelJogo.add(botao3);
    painelJogo.add(botao4);

    painelJogo.add(botao5);
    painelJogo.add(botao6);
    painelJogo.add(botao7);
    painelJogo.add(botao8);

    painelJogo.add(botao9);
    painelJogo.add(botao10);
    painelJogo.add(botao11);
    painelJogo.add(botao12);

    painelJogo.add(botao13);
    painelJogo.add(botao14);
    painelJogo.add(botao15);
    painelJogo.add(botao16); 
}
void Botoes24() {
    painelJogo.setLayout(null);
    painelJogo.setBackground(Color.yellow);
    painelJogo.setBounds(110,05,485,465);
    tela.add(painelJogo);
    //============== 24 Botões
    botao1.setBounds( 05,05,75,110);
    botao2.setBounds( 85,05,75,110);
    botao3.setBounds(165,05,75,110);
    botao4.setBounds(245,05,75,110);
    botao5.setBounds(325,05,75,110);
    botao6.setBounds(405,05,75,110);

    botao7.setBounds ( 05,120,75,110);
    botao8.setBounds ( 85,120,75,110);
    botao9.setBounds (165,120,75,110);
    botao10.setBounds(245,120,75,110);
    botao11.setBounds(325,120,75,110);
    botao12.setBounds(405,120,75,110);

    botao13.setBounds( 05,235,75,110);
    botao14.setBounds( 85,235,75,110);
    botao15.setBounds(165,235,75,110);
    botao16.setBounds(245,235,75,110);
    botao17.setBounds(325,235,75,110);
    botao18.setBounds(405,235,75,110);

    botao19.setBounds( 05,350,75,110);
    botao20.setBounds( 85,350,75,110);
    botao21.setBounds(165,350,75,110);
    botao22.setBounds(245,350,75,110);
    botao23.setBounds(325,350,75,110);
    botao24.setBounds(405,350,75,110);

    Font mensa24 = new Font("Arial Narrow", Font.BOLD, 18);
    botao1.setFont(mensa24);
    botao2.setFont(mensa24);
    botao3.setFont(mensa24);
    botao4.setFont(mensa24);
    botao5.setFont(mensa24);
    botao6.setFont(mensa24);

    botao7.setFont(mensa24);
    botao8.setFont(mensa24);
    botao9.setFont(mensa24);
    botao10.setFont(mensa24);
    botao11.setFont(mensa24);
    botao12.setFont(mensa24);

    botao13.setFont(mensa24);
    botao14.setFont(mensa24);
    botao15.setFont(mensa24);
    botao16.setFont(mensa24);
    botao17.setFont(mensa24);
    botao18.setFont(mensa24);

    botao19.setFont(mensa24);
    botao20.setFont(mensa24);
    botao21.setFont(mensa24);
    botao22.setFont(mensa24);
    botao23.setFont(mensa24);
    botao24.setFont(mensa24);

    painelJogo.add(botao1);
    painelJogo.add(botao2);
    painelJogo.add(botao3);
    painelJogo.add(botao4);
    painelJogo.add(botao5);
    painelJogo.add(botao6);

    painelJogo.add(botao7);
    painelJogo.add(botao8);
    painelJogo.add(botao9);
    painelJogo.add(botao10);
    painelJogo.add(botao11);
    painelJogo.add(botao12);

    painelJogo.add(botao13);
    painelJogo.add(botao14);
    painelJogo.add(botao15);
    painelJogo.add(botao16);
    painelJogo.add(botao17);
    painelJogo.add(botao18);

    painelJogo.add(botao19);
    painelJogo.add(botao20);
    painelJogo.add(botao21);
    painelJogo.add(botao22);
    painelJogo.add(botao23);
    painelJogo.add(botao24);    
}
void Botoes32() {
    painelJogo.setLayout(null);
    painelJogo.setBackground(Color.MAGENTA);
    painelJogo.setBounds(110,05,485,465);
    tela.add(painelJogo);
    //============== 32 Botões
    botao1.setBounds( 02, 05,60,110);
    botao2.setBounds( 62, 05,60,110);
    botao3.setBounds(122, 05,60,110);
    botao4.setBounds(182, 05,60,110);
    botao5.setBounds(242, 05,60,110);
    botao6.setBounds(302, 05,60,110);
    botao7.setBounds(362, 05,60,110);
    botao8.setBounds(422, 05,60,110);

    botao9.setBounds ( 02,120,60,110);
    botao10.setBounds( 62,120,60,110);
    botao11.setBounds(122,120,60,110);
    botao12.setBounds(182,120,60,110);
    botao13.setBounds(242,120,60,110);
    botao14.setBounds(302,120,60,110);
    botao15.setBounds(362,120,60,110);
    botao16.setBounds(422,120,60,110);

    botao17.setBounds( 02,235,60,110);
    botao18.setBounds( 62,235,60,110);
    botao19.setBounds(122,235,60,110);
    botao20.setBounds(182,235,60,110);
    botao21.setBounds(242,235,60,110);
    botao22.setBounds(302,235,60,110);
    botao23.setBounds(362,235,60,110);
    botao24.setBounds(422,235,60,110);

    botao25.setBounds( 02,350,60,110);
    botao26.setBounds( 62,350,60,110);
    botao27.setBounds(122,350,60,110);
    botao28.setBounds(182,350,60,110);
    botao29.setBounds(242,350,60,110);
    botao30.setBounds(302,350,60,110);
    botao31.setBounds(362,350,60,110);
    botao32.setBounds(422,350,60,110);

    Font mensa32 = new Font("Arial Narrow", Font.BOLD, 18);
    botao1.setFont(mensa32);
    botao2.setFont(mensa32);
    botao3.setFont(mensa32);
    botao4.setFont(mensa32);
    botao5.setFont(mensa32);
    botao6.setFont(mensa32);
    botao7.setFont(mensa32);
    botao8.setFont(mensa32);

    botao9.setFont(mensa32);
    botao10.setFont(mensa32);
    botao11.setFont(mensa32);
    botao12.setFont(mensa32);
    botao13.setFont(mensa32);
    botao14.setFont(mensa32);
    botao15.setFont(mensa32);
    botao16.setFont(mensa32);

    botao17.setFont(mensa32);
    botao18.setFont(mensa32);
    botao19.setFont(mensa32);
    botao20.setFont(mensa32);
    botao21.setFont(mensa32);
    botao22.setFont(mensa32);
    botao23.setFont(mensa32);
    botao24.setFont(mensa32);

    botao25.setFont(mensa32);
    botao26.setFont(mensa32);
    botao27.setFont(mensa32);
    botao28.setFont(mensa32);
    botao29.setFont(mensa32);
    botao30.setFont(mensa32);
    botao31.setFont(mensa32);
    botao32.setFont(mensa32);

    painelJogo.add(botao1);
    painelJogo.add(botao2);
    painelJogo.add(botao3);
    painelJogo.add(botao4);
    painelJogo.add(botao5);
    painelJogo.add(botao6);
    painelJogo.add(botao7);
    painelJogo.add(botao8);

    painelJogo.add(botao9);
    painelJogo.add(botao10);
    painelJogo.add(botao11);
    painelJogo.add(botao12);
    painelJogo.add(botao13);
    painelJogo.add(botao14);
    painelJogo.add(botao15);
    painelJogo.add(botao16);

    painelJogo.add(botao17);
    painelJogo.add(botao18);
    painelJogo.add(botao19);
    painelJogo.add(botao20);
    painelJogo.add(botao21);
    painelJogo.add(botao22);
    painelJogo.add(botao23);
    painelJogo.add(botao24);

    painelJogo.add(botao25);
    painelJogo.add(botao26);
    painelJogo.add(botao27);
    painelJogo.add(botao28);
    painelJogo.add(botao29);
    painelJogo.add(botao30);
    painelJogo.add(botao31);
    painelJogo.add(botao32);    
}
//================================================
private class RadioButtonHandler implements ItemListener{
    public void itemStateChanged(ItemEvent event) {
        if(rd1.isSelected() == true)       { Botoes16();          }
        if(rd2.isSelected() == true)       { Botoes24();          }
        if(rd3.isSelected() == true)       { Botoes32();          }
    }
}

//===============Fim da Classe Preparatela.java

Saber utilizar e combinar os diferentes tipos de layout em diferentes painéis não é uma atividade trivial.
Eu recomendo você dar uma lida e analisar os exemplos desse material.

1 curtida

M A R A V I L H O S O!!!

Obrigado starovski.

Acho que ficou linda a tela. Mas…
Agora a dúvida é: Como ou qual a forma de trocar o conjunto de botoes no meu jogo de memória?
Tenho uma tela, na qual são apresentados os 16 botões e um controle (radiobutton) para 24 botões
e 32 botões. O que é mais indicado? Ao fazer a escolha nos radiobuttons, repor um outro painel com a quantidade de botoes? ou preencher a tela com os botoes, mas como retirar o que ja está mostrado?
A 1ª tentativa foi de construir outros 02 paineis (painel24 e painel32) qua vão acomodar os respectivos botoes, mas na hora de chamar o painel fica vazio e o panel 16 que estava funcionando fica vazio e os botoes vão aparecendo quando passo mouse sobre o painel. ?!?!?!?! Empaquei!!!

Acho que é o mais simples.

Eu se fosse você, criaria uma classe para representar seu painél que contém botões.
Aí é só remover o painél atual e adicionar uma nova instância com a quantidade de botões que você deseja.

eu fiz isso, masss:

void Botoes16() {
tela.add(painel16);
//============== 16 Botões

void Botoes24() {
tela.add(painel24);
//============== 24 Botões

void Botoes32() {
tela.add(painel32);
//============== 32 Botões

private class RadioButtonHandler implements ItemListener{
    public void itemStateChanged(ItemEvent event) {
        if(rd1.isSelected() == true)       { Botoes16();           }
        if(rd2.isSelected() == true)       { Botoes24();           }
        if(rd3.isSelected() == true)       { Botoes32();           }
    }
}

não ta funcionando.
Vi, to vendo alguma coisa do cardlayout, parece bem o que eu preciso, mas não to entendendo ele. Ta meio que sofisticado demais pra minha cabecinha branca. kkkk

Em um painel com CardLayout você insere vários painéis diferentes e apresenta somente um de cada vez

Posta o código completo das suas classes pra gente ver como você fez.

Poxa. Me perdoa.
Não to conseguindo resolver.

Tenho 3 radiobuttons (rd1, rd2 e rd3) e tenhos os JPanel (panel16, panel24 e panel32).
Os meus radiobuttons estão assim:

private class RadioButtonHandler implements ItemListener{
    public void itemStateChanged(ItemEvent event) {
        if(rd1.isSelected() == true)       { 
            Botoes16();
        }
        if(rd2.isSelected() == true)       {
            Botoes24();
        }
        if(rd3.isSelected() == true)       {
            Botoes32();
        }
    }

Toda a minha energia está se esgotando nesta função… sem sucesso.

Será que tenho direito de pedir alguma ajuda mais específica ?

Posta o código completo das suas classes pra gente ver como você fez.

CLASSE JMEMORIA


package jmemoria;

import javax.swing.JFrame;

/**
*

  • @author Luiz Carlos
    */
    public class JMemoria extends JFrame {
    PreparaTela prepTela = new PreparaTela();
    //=====================================
    public static void main(String[] args) {
    new JMemoria();
    }
    //-------------------------------------------------------
    public JMemoria() {
    prepTela.PreparaTela();
    }
    }

CLASSE PREPARATELA:


package jmemoria;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
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;
/**
*

  • @author Luiz Carlos
    */
    //-------------------------------------------------------
    public class PreparaTela extends JFrame{
    JButton botaoE1 = new JButton(“Início”);
    JButton botaoE2 = new JButton(“Pausa”);
    JButton botaoE3 = new JButton(“Continuar”);
    JButton botaoE4 = new JButton(“Sair”);

    JComboBox combo = new JComboBox();

    JLabel txtTempo = new JLabel(“Tempo”);
    JLabel txtClicks = new JLabel(“Clicks”);
    JLabel txtDireto = new JLabel(“Direto”);
    JLabel txtCategorias = new JLabel(“Categorias”);

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

    JLabel txtPartidas = new JLabel(“Qtde de Partidas”);
    JLabel txtJogadas = new JLabel(“Qtde de Jogadas”);
    JLabel txtQPartidas = new JLabel(“0000”);
    JLabel txtQJogadas = new JLabel(“0000”);

    JButton botaoPCima = new JButton(“Sobe”);
    JButton botaoPBaixo = new JButton(“Desce”);

    //CardLayout cardLayout = new CardLayout();
    JPanel painelFundo = new JPanel();

    JFrame tela = new JFrame(); //Tela principal (botoes de escolha_)
    JPanel paineldeBotoes = new JPanel();
    JPanel paineldePlacar = new JPanel();
    JPanel painel16 = new JPanel();
    JPanel painel24 = new JPanel();
    JPanel painel32 = new JPanel();
    JPanel paineldeMensagem = new JPanel();
    JPanel painelAnexo = new JPanel();

    JRadioButton rd1 = new JRadioButton(“16 X”, false); //16 botoes
    JRadioButton rd2 = new JRadioButton(“24 X”, false);; //24 botoes
    JRadioButton rd3 = new JRadioButton(“32 X”, false);; //32 botoes

    Font mensa0 = new Font(“Arial Narrow”, Font.BOLD, 18);

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

    RadioButtonHandler handler = new RadioButtonHandler(); //cria a classe handler para os acionamentos dos radiobuttons

    private JButton botaoCm;
    private JButton botaoBx;

    JButton botao1 = new JButton();
    JButton botao2 = new JButton();
    JButton botao3 = new JButton();
    JButton botao4 = new JButton();
    JButton botao5 = new JButton();
    JButton botao6 = new JButton();
    JButton botao7 = new JButton();
    JButton botao8 = new JButton();
    JButton botao9 = new JButton();
    JButton botao10 = new JButton();
    JButton botao11 = new JButton();
    JButton botao12 = new JButton();
    JButton botao13 = new JButton();
    JButton botao14 = new JButton();
    JButton botao15 = new JButton();
    JButton botao16 = new JButton();
    JButton botao17 = new JButton();
    JButton botao18 = new JButton();
    JButton botao19 = new JButton();
    JButton botao20 = new JButton();
    JButton botao21 = new JButton();
    JButton botao22 = new JButton();
    JButton botao23 = new JButton();
    JButton botao24 = new JButton();
    JButton botao25 = new JButton();
    JButton botao26 = new JButton();
    JButton botao27 = new JButton();
    JButton botao28 = new JButton();
    JButton botao29 = new JButton();
    JButton botao30 = new JButton();
    JButton botao31 = new JButton();
    JButton botao32 = new JButton();

//-------------------------------------------------------

public void PreparaTela() {
    MontaPaineis();
    PopularPaineis();
    AcoesNosPaineis();
    //
    tela.setLayout(null);
    tela.setDefaultLookAndFeelDecorated(true);
    tela.getContentPane().setBackground(Color.BLUE);
    
    tela.add(BorderLayout.WEST,painelAnexo);
    
    tela.add(BorderLayout.CENTER,painelFundo);
    
    tela.add(BorderLayout.WEST,painelAnexo);
    tela.add(BorderLayout.SOUTH,paineldeMensagem);
    //
    tela.setTitle ("JOGO DA MEMÓRIA");
    tela.setSize(615, 585);
    tela.setLocationRelativeTo(null); //posiciona a janela no centro da tela
    tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    tela.setVisible(true);
    
    }
    
//-------------------------------------------------------
public void MontaPaineis() {
    //painelFundo.add(painel32,"painel32");
    //painelFundo.add(painel24,"painel24");
    //painelFundo.add(painel16,"painel16");
    //============= PainelAnexo Lateral
    painelAnexo.setLayout(null);
    painelAnexo.setBounds(05,05,100,350);
    
    painelAnexo.add(paineldeBotoes);
    painelAnexo.add(paineldePlacar);
    //============= Painel1
    paineldeBotoes.setLayout(null);
    paineldeBotoes.setBackground(Color.ORANGE);
    paineldeBotoes.setBounds(00,00,100,270);
    //============= Painel2
    paineldePlacar.setLayout(null);
    paineldePlacar.setBackground(Color.RED);
    paineldePlacar.setBounds(00,270,100,100);
    //============= Painel3
    painelFundo.setLayout(null);
    painelFundo.setBackground(Color.GREEN);
    painelFundo.setBounds(110,05,485,465);
    //============= Painel4
    paineldeMensagem.setLayout(null);
    paineldeMensagem.setBounds(05,475,590,65);
    paineldeMensagem.setBackground(Color.WHITE);
 }
//-------------------------------------------------------
void PopularPaineis() {
    botaoE1.setBounds(05, 05,90,60);
    botaoE2.setBounds(05, 70,90,60);
    botaoE3.setBounds(05,135,90,60);
    botaoE4.setBounds(05,200,90,60);

    paineldeBotoes.add(botaoE1);
    paineldeBotoes.add(botaoE2);
    paineldeBotoes.add(botaoE3);
    paineldeBotoes.add(botaoE4);
    //=========== Painel1
    Font mensa0 = new Font("Arial Narrow", Font.BOLD, 14);
    Font mensa1 = new Font("Arial Narrow", Font.BOLD, 18);
    txtTempo.setFont(mensa0);
    txtClicks.setFont(mensa0);
    txtDireto.setFont(mensa0);
    
    txtQTempo.setFont(mensa1);
    txtQClick.setFont(mensa1);
    txtQDireto.setFont(mensa1);

    paineldePlacar.add(txtTempo);
    paineldePlacar.add(txtClicks);
    paineldePlacar.add(txtDireto);
    
    paineldePlacar.add(txtQTempo);
    paineldePlacar.add(txtQClick);
    paineldePlacar.add(txtQDireto);
    
    txtTempo.setBounds      (05,10,50,20);
    txtClicks.setBounds     (05,30,50,20);
    txtDireto.setBounds     (05,50,50,20);
    
    txtQTempo.setBounds     (70,10,40,20);
    txtQClick.setBounds     (70,30,40,20);
    txtQDireto.setBounds    (70,50,40,20);
    
    //=========== Painel Mensagens
    ButtonGroup grupo       = new ButtonGroup(); //cria o grupo para suportar os JRadiobuttons
    
    txtCategorias.setFont(mensa0);
    txtCategorias.setBounds(05,05,80,20);
    paineldeMensagem.add(txtCategorias);
    
    combo.setBounds(80,05,150,20);
    paineldeMensagem.add(combo);

    rd1.setBounds( 80,30,50,20);
    rd2.setBounds(130,30,50,20);
    rd3.setBounds(180,30,50,20);

    rd1.setBackground(Color.white);
    rd2.setBackground(Color.white);
    rd3.setBackground(Color.white);
    
    grupo.add(rd1);    //cria o grupo para operação dos radiobuttons
    grupo.add(rd2);
    grupo.add(rd3);

    rd1.setSelected(true);
    
    paineldeMensagem.add(rd1);
    paineldeMensagem.add(rd2);
    paineldeMensagem.add(rd3);
    
    txtPartidas.setBounds   (270,05,200,20);
    txtJogadas.setBounds    (270,25,200,20);
    
    txtQPartidas.setBounds  (400,05,50,20);
    txtQJogadas.setBounds   (400,25,50,20);
    
    txtPartidas.setFont(mensa0);
    txtJogadas.setFont(mensa0);
    
    txtQPartidas.setFont(mensa1);
    txtQJogadas.setFont(mensa1);
    
    paineldeMensagem.add(txtPartidas);
    paineldeMensagem.add(txtJogadas);
    
    paineldeMensagem.add(txtQPartidas);
    paineldeMensagem.add(txtQJogadas);
    
    botaoPCima.setBounds (450,05,60,45);
    botaoPBaixo.setBounds(515,05,60,45);

    botaoPCima.setFont(mensa0);
    botaoPBaixo.setFont(mensa0);
    
    paineldeMensagem.add(botaoPCima);
    paineldeMensagem.add(botaoPBaixo);
    //=========== Painel4
}
//-------------------------------------------------------
public void AcoesNosPaineis() {
    //Controle para os Botoes 01 a 04
    ActionListener event1 = new Evento1();
    botaoE1.setActionCommand("iniciar");
    botaoE2.setActionCommand("pausar");
    botaoE3.setActionCommand("continuar");
    botaoE4.setActionCommand("sair");

    botaoE1.addActionListener(event1);
    botaoE2.addActionListener(event1);
    botaoE3.addActionListener(event1);
    botaoE4.addActionListener(event1);
    //============= Painel1
    //Controle dos RadioButtons
    if (rd1.isSelected() == true){Botoes16();           }
    if (rd2.isSelected() == true){Botoes24();           }
    if (rd3.isSelected() == true){Botoes32();           }

    rd1.addItemListener((ItemListener) handler);     //Radio de controle de opções de jogo
    rd2.addItemListener((ItemListener) handler);     //Radio de controle de opções de jogo
    rd3.addItemListener((ItemListener) handler);
    
    //Controle para os Botoes 01 a 04
    ActionListener event4 = new Evento4();
    botaoPCima.setActionCommand("pcima");
    botaoPBaixo.setActionCommand("pbaixo");

    //botaoE1.addActionListener(event4);
    botaoPBaixo.addActionListener(event4);
    //============= Painel4
} 
//-------------------------------------------------------
class Evento1 implements ActionListener     {
    @Override
    public void actionPerformed(ActionEvent e) {
        String action = e.getActionCommand();
        switch(action) {
        case "iniciar":
            botaoE1.setEnabled(false);
        break;
        case "pausar":
        break;
        case "continuar":
        break;
        case "sair":
            System.exit(0);
        break;
        }
    }
}
//-------------------------------------------------------
class Evento4 implements ActionListener     {
    @Override
    public void actionPerformed(ActionEvent e) {
        String action = e.getActionCommand();
        switch(action) {
        case "pcima":
        break;
        case "pbaixo":
        break;
        }
    }
}
//-------------------------------------------------------
void Botoes16() {
    //============== 16 Botões
    botao1.setBounds(005, 05,115,110);
    botao2.setBounds(125, 05,115,110);
    botao3.setBounds(245, 05,115,110);
    botao4.setBounds(365, 05,115,110);

    botao5.setBounds(005,120,115,110);
    botao6.setBounds(125,120,115,110);
    botao7.setBounds(245,120,115,110);
    botao8.setBounds(365,120,115,110);

    botao9.setBounds(005,235,115,110);
    botao10.setBounds(125,235,115,110);
    botao11.setBounds(245,235,115,110);
    botao12.setBounds(365,235,115,110);

    botao13.setBounds(005,350,115,110);
    botao14.setBounds(125,350,115,110);
    botao15.setBounds(245,350,115,110);
    botao16.setBounds(365,350,115,110);

    Font mensa0 = new Font("Arial Narrow", Font.BOLD, 18);
    botao1.setFont(mensa0);
    botao2.setFont(mensa0);
    botao3.setFont(mensa0);
    botao4.setFont(mensa0);

    botao5.setFont(mensa0);
    botao6.setFont(mensa0);
    botao7.setFont(mensa0);
    botao8.setFont(mensa0);

    botao9.setFont(mensa0);
    botao10.setFont(mensa0);
    botao11.setFont(mensa0);
    botao12.setFont(mensa0);

    botao13.setFont(mensa0);
    botao14.setFont(mensa0);
    botao15.setFont(mensa0);
    botao16.setFont(mensa0);

    painel16.add(botao1);
    painel16.add(botao2);
    painel16.add(botao3);
    painel16.add(botao4);

    painel16.add(botao5);
    painel16.add(botao6);
    painel16.add(botao7);
    painel16.add(botao8);

    painel16.add(botao9);
    painel16.add(botao10);
    painel16.add(botao11);
    painel16.add(botao12);

    painel16.add(botao13);
    painel16.add(botao14);
    painel16.add(botao15);
    painel16.add(botao16); 
    
    painel16.setLayout(null);
    painel16.setBounds(01,01,485,465);
    painel16.setBackground(Color.YELLOW);
    painelFundo.add(painel16);
    tela.add(BorderLayout.CENTER,painelFundo);
}
//-------------------------------------------------------
void Botoes24() {
    //============== 24 Botões
    botao1.setBounds( 05,05,75,110);
    botao2.setBounds( 85,05,75,110);
    botao3.setBounds(165,05,75,110);
    botao4.setBounds(245,05,75,110);
    botao5.setBounds(325,05,75,110);
    botao6.setBounds(405,05,75,110);

    botao7.setBounds ( 05,120,75,110);
    botao8.setBounds ( 85,120,75,110);
    botao9.setBounds (165,120,75,110);
    botao10.setBounds(245,120,75,110);
    botao11.setBounds(325,120,75,110);
    botao12.setBounds(405,120,75,110);

    botao13.setBounds( 05,235,75,110);
    botao14.setBounds( 85,235,75,110);
    botao15.setBounds(165,235,75,110);
    botao16.setBounds(245,235,75,110);
    botao17.setBounds(325,235,75,110);
    botao18.setBounds(405,235,75,110);

    botao19.setBounds( 05,350,75,110);
    botao20.setBounds( 85,350,75,110);
    botao21.setBounds(165,350,75,110);
    botao22.setBounds(245,350,75,110);
    botao23.setBounds(325,350,75,110);
    botao24.setBounds(405,350,75,110);

    Font mensa0 = new Font("Arial Narrow", Font.BOLD, 18);
    botao1.setFont(mensa0);
    botao2.setFont(mensa0);
    botao3.setFont(mensa0);
    botao4.setFont(mensa0);
    botao5.setFont(mensa0);
    botao6.setFont(mensa0);

    botao7.setFont(mensa0);
    botao8.setFont(mensa0);
    botao9.setFont(mensa0);
    botao10.setFont(mensa0);
    botao11.setFont(mensa0);
    botao12.setFont(mensa0);

    botao13.setFont(mensa0);
    botao14.setFont(mensa0);
    botao15.setFont(mensa0);
    botao16.setFont(mensa0);
    botao17.setFont(mensa0);
    botao18.setFont(mensa0);

    botao19.setFont(mensa0);
    botao20.setFont(mensa0);
    botao21.setFont(mensa0);
    botao22.setFont(mensa0);
    botao23.setFont(mensa0);
    botao24.setFont(mensa0);

    painel24.add(botao1);
    painel24.add(botao2);
    painel24.add(botao3);
    painel24.add(botao4);
    painel24.add(botao5);
    painel24.add(botao6);

    painel24.add(botao7);
    painel24.add(botao8);
    painel24.add(botao9);
    painel24.add(botao10);
    painel24.add(botao11);
    painel24.add(botao12);

    painel24.add(botao13);
    painel24.add(botao14);
    painel24.add(botao15);
    painel24.add(botao16);
    painel24.add(botao17);
    painel24.add(botao18);

    painel24.add(botao19);
    painel24.add(botao20);
    painel24.add(botao21);
    painel24.add(botao22);
    painel24.add(botao23);
    painel24.add(botao24);    
    
    painel24.setLayout(null);
    painel24.setBounds(01,01,485,465);
    painel24.setBackground(Color.BLUE);
    tela.add(painelFundo);
}
//-------------------------------------------------------
void Botoes32() {
    //============== 32 Botões
    botao1.setBounds( 02, 05,60,110);
    botao2.setBounds( 62, 05,60,110);
    botao3.setBounds(122, 05,60,110);
    botao4.setBounds(182, 05,60,110);
    botao5.setBounds(242, 05,60,110);
    botao6.setBounds(302, 05,60,110);
    botao7.setBounds(362, 05,60,110);
    botao8.setBounds(422, 05,60,110);

    botao9.setBounds ( 02,120,60,110);
    botao10.setBounds( 62,120,60,110);
    botao11.setBounds(122,120,60,110);
    botao12.setBounds(182,120,60,110);
    botao13.setBounds(242,120,60,110);
    botao14.setBounds(302,120,60,110);
    botao15.setBounds(362,120,60,110);
    botao16.setBounds(422,120,60,110);

    botao17.setBounds( 02,235,60,110);
    botao18.setBounds( 62,235,60,110);
    botao19.setBounds(122,235,60,110);
    botao20.setBounds(182,235,60,110);
    botao21.setBounds(242,235,60,110);
    botao22.setBounds(302,235,60,110);
    botao23.setBounds(362,235,60,110);
    botao24.setBounds(422,235,60,110);

    botao25.setBounds( 02,350,60,110);
    botao26.setBounds( 62,350,60,110);
    botao27.setBounds(122,350,60,110);
    botao28.setBounds(182,350,60,110);
    botao29.setBounds(242,350,60,110);
    botao30.setBounds(302,350,60,110);
    botao31.setBounds(362,350,60,110);
    botao32.setBounds(422,350,60,110);

    Font mensa0 = new Font("Arial Narrow", Font.BOLD, 18);
    botao1.setFont(mensa0);
    botao2.setFont(mensa0);
    botao3.setFont(mensa0);
    botao4.setFont(mensa0);
    botao5.setFont(mensa0);
    botao6.setFont(mensa0);
    botao7.setFont(mensa0);
    botao8.setFont(mensa0);

    botao9.setFont(mensa0);
    botao10.setFont(mensa0);
    botao11.setFont(mensa0);
    botao12.setFont(mensa0);
    botao13.setFont(mensa0);
    botao14.setFont(mensa0);
    botao15.setFont(mensa0);
    botao16.setFont(mensa0);

    botao17.setFont(mensa0);
    botao18.setFont(mensa0);
    botao19.setFont(mensa0);
    botao20.setFont(mensa0);
    botao21.setFont(mensa0);
    botao22.setFont(mensa0);
    botao23.setFont(mensa0);
    botao24.setFont(mensa0);

    botao25.setFont(mensa0);
    botao26.setFont(mensa0);
    botao27.setFont(mensa0);
    botao28.setFont(mensa0);
    botao29.setFont(mensa0);
    botao30.setFont(mensa0);
    botao31.setFont(mensa0);
    botao32.setFont(mensa0);

    painel32.add(botao1);
    painel32.add(botao2);
    painel32.add(botao3);
    painel32.add(botao4);
    painel32.add(botao5);
    painel32.add(botao6);
    painel32.add(botao7);
    painel32.add(botao8);

    painel32.add(botao9);
    painel32.add(botao10);
    painel32.add(botao11);
    painel32.add(botao12);
    painel32.add(botao13);
    painel32.add(botao14);
    painel32.add(botao15);
    painel32.add(botao16);

    painel32.add(botao17);
    painel32.add(botao18);
    painel32.add(botao19);
    painel32.add(botao20);
    painel32.add(botao21);
    painel32.add(botao22);
    painel32.add(botao23);
    painel32.add(botao24);

    painel32.add(botao25);
    painel32.add(botao26);
    painel32.add(botao27);
    painel32.add(botao28);
    painel32.add(botao29);
    painel32.add(botao30);
    painel32.add(botao31);
    painel32.add(botao32);    
    
    painel32.setLayout(null);
    painel32.setBounds(01,01,485,465);
    painel32.setBackground(Color.RED);
    tela.add(painelFundo);
}
//-------------------------------------------------------
private class RadioButtonHandler implements ItemListener{
    @Override
    public void itemStateChanged(ItemEvent event) {
        if(rd1.isSelected() == true){ Botoes16();    }
        if(rd2.isSelected() == true){ Botoes24();    }
        if(rd3.isSelected() == true){ Botoes32();    }
    }
}
//-------------------------------------------------------   

}

Quando postar códigos no fórum, utilize o botão de texto pré-formatado, identificado pelo ícone </>.

Dê uma refatorada nos seus códigos, há muitas más práticas neles, por exemplo na sua classe JMemoria o método main simplesmente chama um construtor.

O construtor não foi feito para executar seu programa, a função de um construtor é construir um objeto, ou seja, criar a instância de uma classe. Basicamente dentro de um construtor você executa as inicializações necessárias para aquele objeto, mas não a execução do programa em si.

Eu recomendo reescrever dessa forma:

package jmemoria;

import javax.swing.JFrame;

public class JMemoria extends JFrame {

    public static void main(String[] args) {
        JMemoria programa = new JMemoria();
        programa.executar();
    }

    public void executar() {
        PreparaTela prepTela = new PreparaTela();
        prepTela.PreparaTela();
    }
}

Outra coisa, utilize nomes coerentes, você tem uma classe chamada PreparaTela, preparar é um verbo e não substantivo.

Via de regra você deveria utilizar:

  • Substantivos para nomes de classes.
  • Verbos para nomes de métodos.

Você tem o costume de fazer todos os métodos public e variáveis sem modificador de acesso.
Procure utilizar os modificadores de acesso adequados, na dúvida, use private.

Nomes de método deveriam começar com letras minúsculas, isso facilita a leitura, pois é a convenção utilizada por desenvolvedores Java.

Só utilize variáveis de instância quando realmente precisar manipular aquela instância em diferentes métodos, senão, utilize variáveis locais.

Escreva métodos pequenos e com nome sugestivo, de forma que a pessoa que for tentar entender o seu código ou dar manutenção, tenha facilidade em entender.
Se o método está com mais de 20 linhas, considere segregá-lo utilizando chamadas a outros métodos com menos código, obviamente usando nomes sugestivos.

Por exemplo, o que significa botaoE1, botaoE2, botaoE3 e botaoE4?
Ou o que significa uma classe Evento1 e Evento4?

1 curtida

Fiz algumas mudanças e AINDA não consegui o funcionamento dos botões. Preciso de mais ajuda pfvr.:

package jmemoria;
//=========== Import necessários para o programa 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//===========  Definição de Classe
public class JMemoria {
    //=========== Classe Principal do programa
    public static void main(String[] args) {
        //=========== Definição de variáveis
        final String painel16 = "painel_16X";
        final String painel24 = "painel_24X";
        final String painel32 = "painel_32X";
        final JPanel cards; //a panel that uses CardLayout
        //=========== Definição para Botões 
        final String P16 = "1";
        final String P24 = "2";
        final String P32 = "3";
//=========== Definição Inicial do Programa/Frame ==============================
        JFrame frame = new JFrame("CardLayout Demo");
        Container pane = frame.getContentPane();
        //=========== Criação do Painel Fundo da Tela base para os CARDS
        JPanel fundoTela = new JPanel();
        //=========== Definição de Fonte para Componentes
        Font fonte0 = new Font("Arial Narrow", Font.BOLD, 18);
        //=========== Criação de Botões
        JButton jbt16X = new JButton("16X");
        JButton jbt24X = new JButton("24X");
        JButton jbt32X = new JButton("32X");
//==============================================================================        
        JButton bt1 = new JButton();
        JButton bt2 = new JButton();
        JButton bt3 = new JButton();
        JButton bt4 = new JButton();
        JButton bt5 = new JButton();
        JButton bt6 = new JButton();
        JButton bt7 = new JButton();
        JButton bt8 = new JButton();
        JButton bt9 = new JButton();
        JButton bt10 = new JButton();
        JButton bt11 = new JButton();
        JButton bt12 = new JButton();
        JButton bt13 = new JButton();
        JButton bt14 = new JButton();
        JButton bt15 = new JButton();
        JButton bt16 = new JButton();
        JButton bt17 = new JButton();
        JButton bt18 = new JButton();
        JButton bt19 = new JButton();
        JButton bt20 = new JButton();
        JButton bt21 = new JButton();
        JButton bt22 = new JButton();
        JButton bt23 = new JButton();
        JButton bt24 = new JButton();
        JButton bt25 = new JButton();
        JButton bt26 = new JButton();
        JButton bt27 = new JButton();
        JButton bt28 = new JButton();
        JButton bt29 = new JButton();
        JButton bt30 = new JButton();
        JButton bt31 = new JButton();
        JButton bt32 = new JButton();
//==============================================================================        
        //=========== Criação do CARD1 = pnlBase16
        JPanel pnlBase16 = new JPanel();
        pnlBase16.add(new JLabel("16 Botões"));
        pnlBase16.setLayout(null);
        pnlBase16.setBackground(Color.RED);
        //=========== Definição de Botões
        bt1.setBounds(005, 05,115,110);
        bt2.setBounds(125, 05,115,110);
        bt3.setBounds(245, 05,115,110);
        bt4.setBounds(365, 05,115,110);
        bt5.setBounds(005,120,115,110);
        bt6.setBounds(125,120,115,110);
        bt7.setBounds(245,120,115,110);
        bt8.setBounds(365,120,115,110);
        bt9.setBounds(005,235,115,110);
        bt10.setBounds(125,235,115,110);
        bt11.setBounds(245,235,115,110);
        bt12.setBounds(365,235,115,110);
        bt13.setBounds(005,350,115,110);
        bt14.setBounds(125,350,115,110);
        bt15.setBounds(245,350,115,110);
        bt16.setBounds(365,350,115,110);
        //=========== Colocação dos Botões no Painel base (16X)
        pnlBase16.add(bt1);
        pnlBase16.add(bt2);
        pnlBase16.add(bt3);
        pnlBase16.add(bt4);
        pnlBase16.add(bt5);
        pnlBase16.add(bt6);
        pnlBase16.add(bt7);
        pnlBase16.add(bt8);
        pnlBase16.add(bt9);
        pnlBase16.add(bt10);
        pnlBase16.add(bt11);
        pnlBase16.add(bt12);
        pnlBase16.add(bt13);
        pnlBase16.add(bt14);
        pnlBase16.add(bt15);
        pnlBase16.add(bt16); 
//=========== Criação do CARD2 = pnlBase24
        JPanel pnlBase24 = new JPanel();
        pnlBase24.add(new JLabel("24 Botões"));
        pnlBase24.setLayout(null);
        pnlBase24.setBackground(Color.BLUE);
      /*//=========== Posicionamento dos Botões
        bt1.setBounds( 05,05,75,110);
        bt2.setBounds( 85,05,75,110);
        bt3.setBounds(165,05,75,110);
        bt4.setBounds(245,05,75,110);
        bt5.setBounds(325,05,75,110);
        bt6.setBounds(405,05,75,110);
        bt7.setBounds ( 05,120,75,110);
        bt8.setBounds ( 85,120,75,110);
        bt9.setBounds (165,120,75,110);
        bt10.setBounds(245,120,75,110);
        bt11.setBounds(325,120,75,110);
        bt12.setBounds(405,120,75,110);
        bt13.setBounds( 05,235,75,110);
        bt14.setBounds( 85,235,75,110);
        bt15.setBounds(165,235,75,110);
        bt16.setBounds(245,235,75,110);
        bt17.setBounds(325,235,75,110);
        bt18.setBounds(405,235,75,110);
        bt19.setBounds( 05,350,75,110);
        bt20.setBounds( 85,350,75,110);
        bt21.setBounds(165,350,75,110);
        bt22.setBounds(245,350,75,110);
        bt23.setBounds(325,350,75,110);
        bt24.setBounds(405,350,75,110);
        //=========== Colocação dos Botões no Painel  
        pnlBase24.add(bt1);
        pnlBase24.add(bt2);
        pnlBase24.add(bt3);
        pnlBase24.add(bt4);
        pnlBase24.add(bt5);
        pnlBase24.add(bt6);
        pnlBase24.add(bt7);
        pnlBase24.add(bt8);
        pnlBase24.add(bt9);
        pnlBase24.add(bt10);
        pnlBase24.add(bt11);
        pnlBase24.add(bt12);
        pnlBase24.add(bt13);
        pnlBase24.add(bt14);
        pnlBase24.add(bt15);
        pnlBase24.add(bt16);
        pnlBase24.add(bt17);
        pnlBase24.add(bt18);
        pnlBase24.add(bt19);
        pnlBase24.add(bt20);
        pnlBase24.add(bt21);
        pnlBase24.add(bt22);
        pnlBase24.add(bt23);
        pnlBase24.add(bt24);
        */
//=============================================================================
        //=========== Criação do Card2 = pnlBase24
        JPanel pnlBase32 = new JPanel();
        pnlBase32.add(new JLabel("32 Botões"));
        pnlBase32.setLayout(null);
        pnlBase32.setBackground(Color.CYAN);
     /* //=========== Posicionamento dos Botões no Painel
        bt1.setBounds( 02, 05,60,110);
        bt2.setBounds( 62, 05,60,110);
        bt3.setBounds(122, 05,60,110);
        bt4.setBounds(182, 05,60,110);
        bt5.setBounds(242, 05,60,110);
        bt6.setBounds(302, 05,60,110);
        bt7.setBounds(362, 05,60,110);
        bt8.setBounds(422, 05,60,110);
        bt9.setBounds ( 02,120,60,110);
        bt10.setBounds( 62,120,60,110);
        bt11.setBounds(122,120,60,110);
        bt12.setBounds(182,120,60,110);
        bt13.setBounds(242,120,60,110);
        bt14.setBounds(302,120,60,110);
        bt15.setBounds(362,120,60,110);
        bt16.setBounds(422,120,60,110);
        bt17.setBounds( 02,235,60,110);
        bt18.setBounds( 62,235,60,110);
        bt19.setBounds(122,235,60,110);
        bt20.setBounds(182,235,60,110);
        bt21.setBounds(242,235,60,110);
        bt22.setBounds(302,235,60,110);
        bt23.setBounds(362,235,60,110);
        bt24.setBounds(422,235,60,110);
        bt25.setBounds( 02,350,60,110);
        bt26.setBounds( 62,350,60,110);
        bt27.setBounds(122,350,60,110);
        bt28.setBounds(182,350,60,110);
        bt29.setBounds(242,350,60,110);
        bt30.setBounds(302,350,60,110);
        bt31.setBounds(362,350,60,110);
        bt32.setBounds(422,350,60,110);
        //=========== Colocação dos Botões no Painel
        pnlBase32.add(bt1);
        pnlBase32.add(bt2);
        pnlBase32.add(bt3);
        pnlBase32.add(bt4);
        pnlBase32.add(bt5);
        pnlBase32.add(bt6);
        pnlBase32.add(bt7);
        pnlBase32.add(bt8);
        pnlBase32.add(bt9);
        pnlBase32.add(bt10);
        pnlBase32.add(bt11);
        pnlBase32.add(bt12);
        pnlBase32.add(bt13);
        pnlBase32.add(bt14);
        pnlBase32.add(bt15);
        pnlBase32.add(bt16);
        pnlBase32.add(bt17);
        pnlBase32.add(bt18);
        pnlBase32.add(bt19);
        pnlBase32.add(bt20);
        pnlBase32.add(bt21);
        pnlBase32.add(bt22);
        pnlBase32.add(bt23);
        pnlBase32.add(bt24);
        pnlBase32.add(bt25);
        pnlBase32.add(bt26);
        pnlBase32.add(bt27);
        pnlBase32.add(bt28);
        pnlBase32.add(bt29);
        pnlBase32.add(bt30);
        pnlBase32.add(bt31);
        pnlBase32.add(bt32);    
        */
 //=============================================================================
        //=========== Criação dos CARDS para Acomodar os Painéis de Base
        cards = new JPanel(new CardLayout());
        cards.setBounds(110,05,485,465);
        cards.add(pnlBase16, painel16);
        cards.add(pnlBase24, painel24);
        cards.add(pnlBase32, painel32);
 //=========== Criação de Classe do ActionListener 
        class ControlActionListenter implements ActionListener {
            //=========== Função ActionListener dos Botões
            public void actionPerformed(ActionEvent e) {
                CardLayout cl = (CardLayout) (cards.getLayout());
                //=========== acionamento do Botão 16X
                String cmd = e.getActionCommand();
                if (cmd.equals(P16)) {
                    cl.show(cards, painel16);
                //=========== acionamento do Botão 24X
                } else if (cmd.equals(P24)) {
                    cl.show(cards, painel24);
                //=========== acionamento do Botão 32X
                } else if (cmd.equals(P32)) {
                    cl.show(cards, painel32);
                }
            }
        }
        //=========== Controles do ActionListener
        ControlActionListenter cal = new ControlActionListenter();
        //=========== ActionListener do Botão 16X
        jbt16X.setActionCommand(P16);   
        jbt16X.addActionListener(cal);  
        //=========== ActionListener do Botão 24X
        jbt24X.setActionCommand(P24);
        jbt24X.addActionListener(cal);
        //=========== ActionListener do Botão 32X
        jbt32X.setActionCommand(P32);
        jbt32X.addActionListener(cal);
        //=========== Definição de Painéis
        JPanel paineldeBotoes = new JPanel();
        JPanel paineldePlacar = new JPanel();
        JPanel painelLateral = new JPanel();
        //=========== Criação do Painel Lateral
        painelLateral.setLayout(new GridLayout());
        painelLateral.setBounds(05,05,100,350);
        //=========== Colocação dos Painéis no Painel Lateral
        painelLateral.add(paineldeBotoes);
        painelLateral.add(paineldePlacar);
        //=========== Criação e Montagem do Painel de Botões
        paineldeBotoes.setLayout(null); //new GridLayout(4,1));
        paineldeBotoes.setBounds(00,00,100,265);
        paineldeBotoes.setBackground(Color.WHITE);
        //=========== definição dos botões
        JButton btInicio                    = new JButton("Iníciar");
        JButton btPausa                     = new JButton("Pausar");
        JButton btContinua                  = new JButton("Continuar");
        JButton btEncerra                   = new JButton("Encerrar");
        //=========== posicionamento e tamanho dos botões
        btInicio.setBounds      (05, 05,90,60);
        btPausa.setBounds       (05, 70,90,60);
        btContinua.setBounds    (05,135,90,60);
        btEncerra.setBounds     (05,200,90,60);
        //=========== Colocação dos Botões no Painel
        paineldeBotoes.add(btInicio);
        paineldeBotoes.add(btPausa);
        paineldeBotoes.add(btContinua);
        paineldeBotoes.add(btEncerra);
        //=========== Definição e Montagem do Painel de Placar
        paineldePlacar.setLayout(null); //new GridLayout());
        paineldePlacar.setBounds(00,265,100,90);
        paineldePlacar.setBackground(Color.RED);
        //=========== Definição de Etiquetas
        JLabel lblQtdeTempo             = new JLabel("Tempo");
        JLabel lblQtdeClicks            = new JLabel("Clicks");
        JLabel lblQtdeDireta            = new JLabel("Direto");
        //=========== Posicionamento das Etiquetas
        lblQtdeTempo.setBounds      (05,10,50,20);
        lblQtdeClicks.setBounds     (05,30,50,20);
        lblQtdeDireta.setBounds     (05,50,50,20);
        //=========== Colocação das Etiquetas no Painel
        paineldePlacar.add(lblQtdeTempo);
        paineldePlacar.add(lblQtdeClicks);
        paineldePlacar.add(lblQtdeDireta);
        //=========== Criação de Etiquetas
        JLabel txtQTempo            = new JLabel("000");
        JLabel txtQClick            = new JLabel("000");
        JLabel txtQDireto           = new JLabel("000");
        //=========== Posicionamento das Etiquetas
        txtQTempo.setBounds     (70,10,40,20);
        txtQClick.setBounds     (70,30,40,20);
        txtQDireto.setBounds    (70,50,40,20);
        //=========== Colocação das Etiquetas no Painel
        paineldePlacar.add(txtQTempo);
        paineldePlacar.add(txtQClick);
        paineldePlacar.add(txtQDireto);
        //=========== Definição do Painel Lateral
        painelLateral.setLayout(null);
        painelLateral.setBounds(05,05,100,350);
        //=========== Colocação dos Paineis dentro do Painel Lateral
        painelLateral.add(paineldeBotoes);
        painelLateral.add(paineldePlacar);
 //=====Definição e Componentews do Painel de Mensagens ========================
        JPanel paineldeMensagem = new JPanel();
        paineldeMensagem.setLayout(null);
        paineldeMensagem.setBounds(05,475,590,65);
        paineldeMensagem.setBackground(Color.WHITE);
        //=========== Criação de Etiqueta
        JLabel lblComboCategorias  = new JLabel ("Categorias:");
        //=========== Criação do Combobox
        JComboBox combo             = new JComboBox();
        //=========== Criação de Etiquetas
        JLabel lblQtdePartidas      = new JLabel("Qtde de Partidas");
        JLabel lblQtdeJogadas       = new JLabel("Qtde de Jogadas");
        //=========== Definicação de Etiquetas
        JLabel txtQPartidas         = new JLabel("0000");
        JLabel txtQJogadas          = new JLabel("0000");
        //=========== Criação de Botões
        JButton jbtPCima          = new JButton("Sobe");
        JButton jbtPBaixo         = new JButton("Desce");
//======Montagem do Painel de Mensagens ========================================
        lblComboCategorias.setBounds(05,05,80,20);
        paineldeMensagem.add(lblComboCategorias);
        //=========== Posicionameno e Colocação do Combobox no Painel
        combo.setBounds(80,05,180,20);
        paineldeMensagem.add(combo);
        //=========== Definicação de Fonte para Botoes
        Font mensa1 = new Font("Arial Narrow", Font.BOLD, 14);
        jbt16X.setFont(mensa1);
        jbt24X.setFont(mensa1);
        jbt32X.setFont(mensa1);
        //=========== Posicionamento de Botõs
        jbt16X.setBounds( 80,30,60,30);
        jbt24X.setBounds(140,30,60,30);
        jbt32X.setBounds(200,30,60,30);
        //=========== Colocação de Botões no Painel
        paineldeMensagem.add(jbt16X);
        paineldeMensagem.add(jbt24X);
        paineldeMensagem.add(jbt32X);
        //=========== Posicionamento de Etiquetas
        txtQPartidas.setBounds  (400,05,50,20);
        txtQJogadas.setBounds   (400,25,50,20);
        //=========== Colocação de Etiquetas no Painel
        paineldeMensagem.add(txtQPartidas);
        paineldeMensagem.add(txtQJogadas);
        //=========== Posicionamento de Etiquetas
        lblQtdePartidas.setBounds   (280,05,200,20);
        lblQtdeJogadas.setBounds    (280,25,200,20);
        //=========== Definicação de Fonte para Etiquetas
        lblQtdePartidas.setFont(mensa1);
        lblQtdeJogadas.setFont(mensa1);
        //=========== Colocação de Etiquetas no Painel
        paineldeMensagem.add(lblQtdePartidas);
        paineldeMensagem.add(lblQtdeJogadas);
        //=========== Definicação de Fonte para Etiquetas
        Font mensa2 = new Font("Arial Narrow", Font.BOLD, 18);
        txtQPartidas.setFont(mensa2);
        txtQJogadas.setFont(mensa2);
        //=========== Posicionamento dos Botões
        jbtPCima.setBounds (450,05,60,45);
        jbtPBaixo.setBounds(515,05,60,45);
        //=========== Colocação do Botão no Painel
        paineldeMensagem.add(jbtPCima);
        paineldeMensagem.add(jbtPBaixo);
 //=====Container da Tela Principal ============================================
        //===recupera o card e insere no painel de fundo da tela
        fundoTela.setLayout(null);
        fundoTela.setBounds(110,05,485,465);
        fundoTela.add(cards);
        //========insere o painel lateral (esquerda da tela)
        frame.add(painelLateral); //não funcionou na borda OESTE do panel
        frame.add(paineldeMensagem); //não funcionou na borda OESTE do panel
        //========Exibe o Container da Tela do Sistema
        pane.add(fundoTela, BorderLayout.CENTER);
        //========Tela Principal (base) para os componentes ====================
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(615, 585);
        frame.setLocationRelativeTo(null); //posiciona a janela no centro da tela
        frame.setVisible(true);
        //======================================================================
    }
}

Obrigado.

1 curtida

Pôxa, quebra esse código em partes menores.
Ao invés de segregá-lo, você implementou tudo em um método main.

Bem. Ainda não desisti (kkkkk). Seguem os dois arquivos .java.
//============== JogodeMoemoria.java

package jogodememoria;

import javax.swing.JFrame;
    //=========================================================
/**
 *
 * @author Luiz Carlos
 */
//======================================================================        
public class JogoDeMemoria extends JFrame {
    Regras regras = new Regras();
//=========================================================
    public JogoDeMemoria() {
        regras.MontaPainelLateral();                // 2
        regras.MontaPainelMensagens();         // 4
        regras.MontaPaineldeComandos();      // 5
        regras.MontaPaineldePlacar();             // 6
        
        regras.MontaPaineldeBotoes();
        regras.AcaoDeTodososBotoes();
        
        regras.TravaDeComandos(regras.QtdeBotoes);
    }
    //=========================================================
    public static void main(String[] args) {
        new JogoDeMemoria();
    }
    //=========================================================
}

//============== Regras.java
package jogodememoria;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 *
 * @author Luiz Carlos
 */
public class Regras extends JFrame {
    
    int QtdeBotoes = 16;
    
    private final JPanel painelFundoTela = new JPanel();
    private GridLayout Layout_do_Jogo = new GridLayout(4,4);
    private final Font Fonte = new Font("Lucida Console", Font.BOLD, 36);
    private final JButton Escolha[] = new JButton[QtdeBotoes];
    
    JButton btInicio          = new JButton("Iníciar");
    JButton btPausa        = new JButton("Pausar");
    JButton btContinua     = new JButton("Continuar");
    JButton btEencerra    = new JButton("Encerrar");
    
    JButton jbt16X          = new JButton("16X");
    JButton jbt24X          = new JButton("24X");
    JButton jbt32X          = new JButton("32X");   
    JButton jbtPCima      = new JButton("Sobe");
    JButton jbtPBaixo     = new JButton("Desce");
    
    JLabel lblQtdeTempo     = new JLabel("Tempo");
    JLabel lblQtdeClicks      = new JLabel("Clicks");
    JLabel lblQtdeDireta      = new JLabel("Direto");
    
    JLabel txtQTempo         = new JLabel("000");
    JLabel txtQClick            = new JLabel("000");
    JLabel txtQDireto           = new JLabel("000");
        
    Font mensa0 = new Font("Arial Narrow", Font.BOLD, 10);  //
    Font mensa1 = new Font("Arial Narrow", Font.BOLD, 14);  //
    Font mensa2 = new Font("Arial Narrow", Font.BOLD, 18);  //
        
    JFrame tela = new JFrame();
    JPanel paineldeBase = new JPanel();     // 1
    JPanel painelLateralTela = new JPanel();       // 2
    //JPanel painelFundoTela = new JPanel();       //  3
    JPanel paineldeMensagens = new JPanel();  // 4
    JPanel painelComandos = new JPanel();      // 5
    JPanel painelPlacar = new JPanel();             // 6             //Botão reset - recomeça o jogo
//======================================================================        
    void PreparaeMontaPaineis() {
        MontaPaineldeBotoes();
    }
//======================================================================        
    public void MontaPaineldeBotoes() {
        CriaBotoes(QtdeBotoes);
        PreparaAreaBotoes();
        MostraTeladeBotoes();
    }
//======================================================================        
    private void PreparaAreaBotoes() {
        MontaPaineldeBase();             // 1
        MontaPainelFundo();               // 3
    }
//======================================================================        
    private void MostraTeladeBotoes() {
        add(BorderLayout.CENTER, paineldeBase);
        MostraTelaJogo();
    }
//======================================================================        
    public void MostraTelaJogo() {
        //------------ CarregaPainéis Lateral e de Mensagens --------------------------------------------------------
        add(BorderLayout.WEST, painelLateralTela);
        add(BorderLayout.SOUTH, paineldeMensagens);
        //--------------- Carrega a Tela do Jogo -------------------------------------------------------------------------
        getContentPane().setBackground(Color.BLUE);
        setTitle("======= JOGO DA MEMÓRIA ========");
        setLayout(null);    //new BorderLayout());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);     
        setSize(605,575);
        setVisible(true);
        setLocationRelativeTo(null);
        setVisible(true);
    }
    //=========================================================
    public void MontaPaineldeBase() {           // 1
        paineldeBase.setLayout(Layout_do_Jogo);
        paineldeBase.setBounds(110,05,485,465);
        paineldeBase.setBackground(Color.ORANGE);
    }
    //=========================================================
    public void MontaPainelLateral() {      // 2
        painelLateralTela.setLayout(null);  //new GridLayout(2,1));
        painelLateralTela.setBounds(05,05,100,345);
        painelLateralTela.setBackground(Color.BLACK);
        
        painelLateralTela.add(painelComandos);  //5
        painelLateralTela.add(painelPlacar);        //6
    }
    //=========================================================
    public void MontaPainelFundo() {        // 3
        painelFundoTela.setLayout(null);  //new GridLayout(2,1));
        painelFundoTela.setBounds(110,05,485,465);
        painelFundoTela.setBackground(Color.GREEN);
    }
    //=========================================================
     public void MontaPainelMensagens() {   //4
        paineldeMensagens.setLayout(null);  //new GridLayout(2,1));
        paineldeMensagens.setBounds(05,475,590,65);
        paineldeMensagens.setBackground(Color.WHITE);
        
        MontaCombo();
        EtiquetasdeMensagem();
        BotoesdeMensagem();
     }
    //=========================================================
    public void BotoesdeMensagem() {
        jbt16X.setFont(mensa0);
        jbt24X.setFont(mensa0);
        jbt32X.setFont(mensa0);
        
        jbt16X.setBounds( 80,30,50,20);
        jbt24X.setBounds(130,30,50,20);
        jbt32X.setBounds(180,30,50,20);
        
        paineldeMensagens.add(jbt16X);
        paineldeMensagens.add(jbt24X);
        paineldeMensagens.add(jbt32X);
        
        jbtPCima.setBounds (450,05,60,45);
        jbtPBaixo.setBounds(515,05,60,45);
        
        jbtPCima.setFont(mensa0);
        jbtPBaixo.setFont(mensa0);
        
        paineldeMensagens.add(jbtPCima);
        paineldeMensagens.add(jbtPBaixo);
    }
    //=========================================================
    private void EtiquetasdeMensagem() {
        JLabel lblQtdePartidas      = new JLabel("Qtde de Partidas");
        JLabel lblQtdeJogadas       = new JLabel("Qtde de Jogadas");
    
        JLabel txtQPartidas         = new JLabel("0000");
        JLabel txtQJogadas          = new JLabel("0000");
        lblQtdePartidas.setBounds   (270,05,200,20);
        lblQtdeJogadas.setBounds    (270,25,200,20);
        
        txtQPartidas.setBounds  (400,05,50,20);
        txtQJogadas.setBounds   (400,25,50,20);
        
        lblQtdePartidas.setFont(mensa1);
        lblQtdeJogadas.setFont(mensa1);
        
        txtQPartidas.setFont(mensa2);
        txtQJogadas.setFont(mensa2);
        
        paineldeMensagens.add(lblQtdePartidas);
        paineldeMensagens.add(lblQtdeJogadas);
        
        paineldeMensagens.add(txtQPartidas);
        paineldeMensagens.add(txtQJogadas);
    }
    //=========================================================
    private void MontaCombo() {
        JLabel lblComboCategorias        = new JLabel("Categorias");
        JComboBox combo             = new JComboBox();
        lblComboCategorias.setFont(mensa0);
        lblComboCategorias.setBounds(05,05,80,20);
        paineldeMensagens.add(lblComboCategorias);
        
        combo.setBounds(80,05,150,20);
        paineldeMensagens.add(combo);
    }
    //=========================================================
    public void MontaPaineldeComandos() {       // 5
        painelComandos.setLayout(null);  //new GridLayout(2,1));
        painelComandos.setBounds(00,00,100,265);
        painelComandos.setBackground(Color.YELLOW);
        
        btInicio.setBounds(05, 05,90,60);
        btPausa.setBounds(05, 70,90,60);
        btContinua.setBounds(05,135,90,60);
        btEencerra.setBounds(05,200,90,60);
        
        painelComandos.add(btInicio);
        painelComandos.add(btPausa);
        painelComandos.add(btContinua);
        painelComandos.add(btEencerra);
    }
    //=========================================================
    public void MontaPaineldePlacar() {         // 6
        painelPlacar.setLayout(null);   //new GridLayout());
        painelPlacar.setBounds(00,265,100,80);
        painelPlacar.setBackground(Color.RED);
        
        EtiquetasdePlacar();
    }
    //=========================================================
    public void EtiquetasdePlacar() {
        lblQtdeTempo.setFont(mensa1);
        lblQtdeClicks.setFont(mensa1);
        lblQtdeDireta.setFont(mensa1);
        
        lblQtdeTempo.setBounds      (05,10,50,20);
        lblQtdeClicks.setBounds     (05,30,50,20);
        lblQtdeDireta.setBounds     (05,50,50,20);
        
        painelPlacar.add(lblQtdeTempo);
        painelPlacar.add(lblQtdeClicks);
        painelPlacar.add(lblQtdeDireta);
        
        txtQTempo.setFont(mensa2);
        txtQClick.setFont(mensa2);
        txtQDireto.setFont(mensa2);
                
        txtQTempo.setBounds     (70,10,40,20);
        txtQClick.setBounds     (70,30,40,20);
        txtQDireto.setBounds    (70,50,40,20);
        
        painelPlacar.add(txtQTempo);
        painelPlacar.add(txtQClick);
        painelPlacar.add(txtQDireto);
    }
    //=========================================================
    public void CriaBotoes(int QtdeBotoes) {
       for (int i=0; i<QtdeBotoes; ++i) {
            Escolha[i] = new JButton();
            paineldeBase.add(Escolha[i]);
            Escolha[i].setFont(Fonte);
            Escolha[i].setVisible(true);
       }
    }
    //=========================================================
    public void AcaoDeTodososBotoes() {
        ActionListener clikdeBotao = new ClickDeBotao();
        
        btInicio.setActionCommand("btninicio");     //botões de controle da tela
        btPausa.setActionCommand("btpausa");     //botões de controle da tela
        btContinua.setActionCommand("btcontinua");     //botões de controle da tela
        btEencerra.setActionCommand("btencerra");     //botões de controle da tela
        
        jbt16X.setActionCommand("jbt16");     //botões de controle da tela
        jbt24X.setActionCommand("jbt24");
        jbt32X.setActionCommand("jbt32");
        jbtPCima.setActionCommand("jbtUP");
        jbtPBaixo.setActionCommand("jbtDW");
        
        btInicio.addActionListener(clikdeBotao);
        btPausa.addActionListener(clikdeBotao);
        btContinua.addActionListener(clikdeBotao);
        btEencerra.addActionListener(clikdeBotao);
        
        jbt16X.addActionListener(clikdeBotao);
        jbt24X.addActionListener(clikdeBotao);
        jbt32X.addActionListener(clikdeBotao);
        jbtPCima.addActionListener(clikdeBotao);
        jbtPBaixo.addActionListener(clikdeBotao);
    }
    //=========================================================
    class ClickDeBotao implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            String action = e.getActionCommand();
            switch(action) {
                case "btinicio":
                    int QtdeBotoes;
                break;
                case "btpausa":
                break;
                case "btcontinua":
                break;
                case "btencerra":
                    System.exit(0);
                break;
                //--------------------------------------------------
                case "jbt16":
                    Layout_do_Jogo = new GridLayout(4,4);
                    QtdeBotoes = 16;
                    TravaDeComandos(QtdeBotoes);
                    PreparaeMontaPaineis();
                    MostraTelaJogo();
                break;
                
                case "jbt24":
                    Layout_do_Jogo = new GridLayout(6,4);
                    QtdeBotoes = 24;
                    TravaDeComandos(QtdeBotoes);
                    PreparaeMontaPaineis();
                    MostraTelaJogo();
                break;
                
                case "jbt32":
                    Layout_do_Jogo = new GridLayout(8,4);
                    QtdeBotoes = 32;
                    TravaDeComandos(QtdeBotoes);
                    PreparaeMontaPaineis();
                    MostraTelaJogo();
                break;
                
                case "jbtUP":
                break;
                
                case "jbtDW":
                break;
            }
        }
    }
    //=========================================================
    public void TravaDeComandos(int numBotoes) {
        switch (numBotoes) {
            case 16:
                jbt16X.setEnabled(false);
                jbt24X.setEnabled(true);
                jbt32X.setEnabled(true);
                break;
            case 24:
                jbt24X.setEnabled(false);
                jbt16X.setEnabled(true);
                jbt32X.setEnabled(true);
                break;
            case 32:
                jbt32X.setEnabled(false);
                jbt16X.setEnabled(true);
                jbt24X.setEnabled(true);
                break;
            default:
                break;
        }
        }
    //=========================================================
}

Desculpe a demora e a insistência. Agradeço de coração qualquer ajuda que puder dar.

Obrigado.

Alguém para ajudar???

Olá @PapaiLu
Pelo que parece o problema é que você não adicionou o painel24 e o painel32 ao painelFundo. Abaixo está o trecho:

            painel24.setLayout(null);
            painel24.setBounds(01, 01, 485, 465);
            painel24.setBackground(Color.BLUE);
            /* faltou isso*/
            painelFundo.add(painel24);
            tela.add(painelFundo);

E aqui o trecho do painel32:

            painel32.setLayout(null);
            painel32.setBounds(01, 01, 485, 465);
            painel32.setBackground(Color.RED);
            /* faltou isso */
            painelFundo.add(painel32);
            tela.add(painelFundo);
1 curtida

Pois é reginildosousa. Antes quero te agradecer pela resposta. Mas essa solução me leva ao erro que estou tendo.
Os botões (painel 16, painel 24 e painel 32) carregam parcialmente, ou seja, alguns botoes aparecem e é preciso passar o mouse sobre a tela (paineis) para que os botoes apareçam na tela. Cara não quero desistir. kkkkk. Também ja fiz algumas mudanças e já até havia postado (antes dessa sua resposta) com algumas alterações pedidas por um outro amigo, tentando me ajudar. Mas empaquei neste problema.

Ok @PapaiLu,

Acredito então que seja por que você está modificando o PainelFundo trocando por outros “paineis” por meio de cliques nos componentes RadioButton mas o método paintComponent(Graphics g) - que é chamado no PainelFundo é chamado apenas uma vez internamente, que é na hora que você criou o objeto JPanel (que herda esse método de javax.swing.JComponent). Abaixo eu modifiquei a classe PreparaTela.java onde tem @reginildosousa nos comentários:

package jmemoria;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
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;

/**
 * @author Luiz Carlos
 */
//-------------------------------------------------------
public class PreparaTela extends JFrame {
    JButton botaoE1 = new JButton("Início");
    JButton botaoE2 = new JButton("Pausa");
    JButton botaoE3 = new JButton("Continuar");
    JButton botaoE4 = new JButton("Sair");

    JComboBox combo = new JComboBox();

    JLabel txtTempo = new JLabel("Tempo");
    JLabel txtClicks = new JLabel("Clicks");
    JLabel txtDireto = new JLabel("Direto");
    JLabel txtCategorias = new JLabel("Categorias");

    JLabel txtQTempo = new JLabel("000");
    JLabel txtQClick = new JLabel("000");
    JLabel txtQDireto = new JLabel("000");

    JLabel txtPartidas = new JLabel("Qtde de Partidas");
    JLabel txtJogadas = new JLabel("Qtde de Jogadas");
    JLabel txtQPartidas = new JLabel("0000");
    JLabel txtQJogadas = new JLabel("0000");

    JButton botaoPCima = new JButton("Sobe");
    JButton botaoPBaixo = new JButton("Desce");

    //CardLayout cardLayout = new CardLayout();
    JPanel painelFundo = new JPanel();

    JFrame tela = new JFrame(); //Tela principal (botoes de escolha_)
    JPanel paineldeBotoes = new JPanel();
    JPanel paineldePlacar = new JPanel();
    JPanel painel16 = new JPanel();
    JPanel painel24 = new JPanel();
    JPanel painel32 = new JPanel();
    JPanel paineldeMensagem = new JPanel();
    JPanel painelAnexo = new JPanel();

    JRadioButton rd1 = new JRadioButton("16X", false); //16 botoes
    JRadioButton rd2 = new JRadioButton("24X", false);
    ; //24 botoes
    JRadioButton rd3 = new JRadioButton("32X", false);
    ; //32 botoes

    Font mensa0 = new Font("Arial Narrow", Font.BOLD, 18);

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

    RadioButtonHandler handler = new RadioButtonHandler(); //cria a classe handler para os acionamentos dos radiobuttons

    private JButton botaoCm;
    private JButton botaoBx;

    JButton botao1 = new JButton();
    JButton botao2 = new JButton();
    JButton botao3 = new JButton();
    JButton botao4 = new JButton();
    JButton botao5 = new JButton();
    JButton botao6 = new JButton();
    JButton botao7 = new JButton();
    JButton botao8 = new JButton();
    JButton botao9 = new JButton();
    JButton botao10 = new JButton();
    JButton botao11 = new JButton();
    JButton botao12 = new JButton();
    JButton botao13 = new JButton();
    JButton botao14 = new JButton();
    JButton botao15 = new JButton();
    JButton botao16 = new JButton();
    JButton botao17 = new JButton();
    JButton botao18 = new JButton();
    JButton botao19 = new JButton();
    JButton botao20 = new JButton();
    JButton botao21 = new JButton();
    JButton botao22 = new JButton();
    JButton botao23 = new JButton();
    JButton botao24 = new JButton();
    JButton botao25 = new JButton();
    JButton botao26 = new JButton();
    JButton botao27 = new JButton();
    JButton botao28 = new JButton();
    JButton botao29 = new JButton();
    JButton botao30 = new JButton();
    JButton botao31 = new JButton();
    JButton botao32 = new JButton();

    public void PreparaTela() {
        MontaPaineis();
        PopularPaineis();
        AcoesNosPaineis();
        //
        tela.setLayout(null);
        tela.setDefaultLookAndFeelDecorated(true);
        tela.getContentPane().setBackground(Color.BLUE);

        tela.add(BorderLayout.WEST, painelAnexo);

        tela.add(BorderLayout.CENTER, painelFundo);

        tela.add(BorderLayout.WEST, painelAnexo);
        tela.add(BorderLayout.SOUTH, paineldeMensagem);
        //
        tela.setTitle("JOGO DA MEMÓRIA");
        tela.setSize(615, 585);
        tela.setLocationRelativeTo(null); //posiciona a janela no centro da tela
        tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        tela.setVisible(true);

    }

    public void MontaPaineis() {
        //painelFundo.add(painel32,"painel32");
        //painelFundo.add(painel24,"painel24");
        //painelFundo.add(painel16,"painel16");
        //============= PainelAnexo Lateral
        painelAnexo.setLayout(null);
        painelAnexo.setBounds(05, 05, 100, 350);

        painelAnexo.add(paineldeBotoes);
        painelAnexo.add(paineldePlacar);
        //============= Painel1
        paineldeBotoes.setLayout(null);
        paineldeBotoes.setBackground(Color.ORANGE);
        paineldeBotoes.setBounds(00, 00, 100, 270);
        //============= Painel2
        paineldePlacar.setLayout(null);
        paineldePlacar.setBackground(Color.RED);
        paineldePlacar.setBounds(00, 270, 100, 100);
        //============= Painel3
        painelFundo.setLayout(null);
        painelFundo.setBackground(Color.GREEN);
        painelFundo.setBounds(110, 05, 485, 465);
        //============= Painel4
        paineldeMensagem.setLayout(null);
        paineldeMensagem.setBounds(05, 475, 590, 65);
        paineldeMensagem.setBackground(Color.WHITE);
    }

    void PopularPaineis() {
        botaoE1.setBounds(05, 05, 90, 60);
        botaoE2.setBounds(05, 70, 90, 60);
        botaoE3.setBounds(05, 135, 90, 60);
        botaoE4.setBounds(05, 200, 90, 60);

        paineldeBotoes.add(botaoE1);
        paineldeBotoes.add(botaoE2);
        paineldeBotoes.add(botaoE3);
        paineldeBotoes.add(botaoE4);
        //=========== Painel1
        Font mensa0 = new Font("Arial Narrow", Font.BOLD, 14);
        Font mensa1 = new Font("Arial Narrow", Font.BOLD, 18);
        txtTempo.setFont(mensa0);
        txtClicks.setFont(mensa0);
        txtDireto.setFont(mensa0);

        txtQTempo.setFont(mensa1);
        txtQClick.setFont(mensa1);
        txtQDireto.setFont(mensa1);

        paineldePlacar.add(txtTempo);
        paineldePlacar.add(txtClicks);
        paineldePlacar.add(txtDireto);

        paineldePlacar.add(txtQTempo);
        paineldePlacar.add(txtQClick);
        paineldePlacar.add(txtQDireto);

        txtTempo.setBounds(05, 10, 50, 20);
        txtClicks.setBounds(05, 30, 50, 20);
        txtDireto.setBounds(05, 50, 50, 20);

        txtQTempo.setBounds(70, 10, 40, 20);
        txtQClick.setBounds(70, 30, 40, 20);
        txtQDireto.setBounds(70, 50, 40, 20);

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

        txtCategorias.setFont(mensa0);
        txtCategorias.setBounds(05, 05, 80, 20);
        paineldeMensagem.add(txtCategorias);

        combo.setBounds(80, 05, 150, 20);
        paineldeMensagem.add(combo);

        rd1.setBounds(80, 30, 50, 20);
        rd2.setBounds(130, 30, 50, 20);
        rd3.setBounds(180, 30, 50, 20);

        rd1.setBackground(Color.white);
        rd2.setBackground(Color.white);
        rd3.setBackground(Color.white);

        grupo.add(rd1);    //cria o grupo para operação dos radiobuttons
        grupo.add(rd2);
        grupo.add(rd3);

        rd1.setSelected(true);

        paineldeMensagem.add(rd1);
        paineldeMensagem.add(rd2);
        paineldeMensagem.add(rd3);

        txtPartidas.setBounds(270, 05, 200, 20);
        txtJogadas.setBounds(270, 25, 200, 20);

        txtQPartidas.setBounds(400, 05, 50, 20);
        txtQJogadas.setBounds(400, 25, 50, 20);

        txtPartidas.setFont(mensa0);
        txtJogadas.setFont(mensa0);

        txtQPartidas.setFont(mensa1);
        txtQJogadas.setFont(mensa1);

        paineldeMensagem.add(txtPartidas);
        paineldeMensagem.add(txtJogadas);

        paineldeMensagem.add(txtQPartidas);
        paineldeMensagem.add(txtQJogadas);

        botaoPCima.setBounds(450, 05, 60, 45);
        botaoPBaixo.setBounds(515, 05, 60, 45);

        botaoPCima.setFont(mensa0);
        botaoPBaixo.setFont(mensa0);

        paineldeMensagem.add(botaoPCima);
        paineldeMensagem.add(botaoPBaixo);
        //=========== Painel4
    }

    public void AcoesNosPaineis() {
        //Controle para os Botoes 01 a 04
        ActionListener event1 = new Evento1();
        botaoE1.setActionCommand("iniciar");
        botaoE2.setActionCommand("pausar");
        botaoE3.setActionCommand("continuar");
        botaoE4.setActionCommand("sair");

        botaoE1.addActionListener(event1);
        botaoE2.addActionListener(event1);
        botaoE3.addActionListener(event1);
        botaoE4.addActionListener(event1);
        //============= Painel1
        //Controle dos RadioButtons
        if (rd1.isSelected() == true) {
            Botoes16();
        }
        if (rd2.isSelected() == true) {
            Botoes24();
        }
        if (rd3.isSelected() == true) {
            Botoes32();
        }

        rd1.addItemListener((ItemListener) handler);     //Radio de controle de opções de jogo
        rd2.addItemListener((ItemListener) handler);     //Radio de controle de opções de jogo
        rd3.addItemListener((ItemListener) handler);

        //Controle para os Botoes 01 a 04
        ActionListener event4 = new Evento4();
        botaoPCima.setActionCommand("pcima");
        botaoPBaixo.setActionCommand("pbaixo");

        //botaoE1.addActionListener(event4);
        botaoPBaixo.addActionListener(event4);
        //============= Painel4
    }

    //-------------------------------------------------------
    class Evento1 implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            String action = e.getActionCommand();
            switch (action) {
                case "iniciar":
                    botaoE1.setEnabled(false);
                    break;
                case "pausar":
                    break;
                case "continuar":
                    break;
                case "sair":
                    System.exit(0);
                    break;
            }
        }
    }

    class Evento4 implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            String action = e.getActionCommand();
            switch (action) {
                case "pcima":
                    break;
                case "pbaixo":
                    break;
            }
        }
    }

    void Botoes16() {
        /* cada vez que chamo o metodo "Botoes" eu removo todos os componentes para colocalos de volta*/

        painelFundo.removeAll();
        //============== 16 Botões
        botao1.setBounds(005, 05, 115, 110);
        botao2.setBounds(125, 05, 115, 110);
        botao3.setBounds(245, 05, 115, 110);
        botao4.setBounds(365, 05, 115, 110);

        botao5.setBounds(005, 120, 115, 110);
        botao6.setBounds(125, 120, 115, 110);
        botao7.setBounds(245, 120, 115, 110);
        botao8.setBounds(365, 120, 115, 110);

        botao9.setBounds(005, 235, 115, 110);
        botao10.setBounds(125, 235, 115, 110);
        botao11.setBounds(245, 235, 115, 110);
        botao12.setBounds(365, 235, 115, 110);

        botao13.setBounds(005, 350, 115, 110);
        botao14.setBounds(125, 350, 115, 110);
        botao15.setBounds(245, 350, 115, 110);
        botao16.setBounds(365, 350, 115, 110);

        Font mensa0 = new Font("Arial Narrow", Font.BOLD, 18);
        botao1.setFont(mensa0);
        botao2.setFont(mensa0);
        botao3.setFont(mensa0);
        botao4.setFont(mensa0);

        botao5.setFont(mensa0);
        botao6.setFont(mensa0);
        botao7.setFont(mensa0);
        botao8.setFont(mensa0);

        botao9.setFont(mensa0);
        botao10.setFont(mensa0);
        botao11.setFont(mensa0);
        botao12.setFont(mensa0);

        botao13.setFont(mensa0);
        botao14.setFont(mensa0);
        botao15.setFont(mensa0);
        botao16.setFont(mensa0);

        painel16.add(botao1);
        painel16.add(botao2);
        painel16.add(botao3);
        painel16.add(botao4);

        painel16.add(botao5);
        painel16.add(botao6);
        painel16.add(botao7);
        painel16.add(botao8);

        painel16.add(botao9);
        painel16.add(botao10);
        painel16.add(botao11);
        painel16.add(botao12);

        painel16.add(botao13);
        painel16.add(botao14);
        painel16.add(botao15);
        painel16.add(botao16);

        painel16.setLayout(null);
        painel16.setBounds(01, 01, 485, 465);
        painel16.setBackground(Color.YELLOW);
        painelFundo.add(painel16);
        /* antes de adicionar o painelFundo a tela eu chamo o metodo repaint */
        tela.repaint();

        tela.add(BorderLayout.CENTER, painelFundo);
    }

    //-------------------------------------------------------
    void Botoes24() {
        /* @reginildosousa cada vez que chamo o metodo "Botoes" eu removo todos os componentes para colocalos de volta*/
        painelFundo.removeAll();

        //============== 24 Botões
        botao1.setBounds(05, 05, 75, 110);
        botao2.setBounds(85, 05, 75, 110);
        botao3.setBounds(165, 05, 75, 110);
        botao4.setBounds(245, 05, 75, 110);
        botao5.setBounds(325, 05, 75, 110);
        botao6.setBounds(405, 05, 75, 110);

        botao7.setBounds(05, 120, 75, 110);
        botao8.setBounds(85, 120, 75, 110);
        botao9.setBounds(165, 120, 75, 110);
        botao10.setBounds(245, 120, 75, 110);
        botao11.setBounds(325, 120, 75, 110);
        botao12.setBounds(405, 120, 75, 110);

        botao13.setBounds(05, 235, 75, 110);
        botao14.setBounds(85, 235, 75, 110);
        botao15.setBounds(165, 235, 75, 110);
        botao16.setBounds(245, 235, 75, 110);
        botao17.setBounds(325, 235, 75, 110);
        botao18.setBounds(405, 235, 75, 110);

        botao19.setBounds(05, 350, 75, 110);
        botao20.setBounds(85, 350, 75, 110);
        botao21.setBounds(165, 350, 75, 110);
        botao22.setBounds(245, 350, 75, 110);
        botao23.setBounds(325, 350, 75, 110);
        botao24.setBounds(405, 350, 75, 110);

        Font mensa0 = new Font("Arial Narrow", Font.BOLD, 18);
        botao1.setFont(mensa0);
        botao2.setFont(mensa0);
        botao3.setFont(mensa0);
        botao4.setFont(mensa0);
        botao5.setFont(mensa0);
        botao6.setFont(mensa0);

        botao7.setFont(mensa0);
        botao8.setFont(mensa0);
        botao9.setFont(mensa0);
        botao10.setFont(mensa0);
        botao11.setFont(mensa0);
        botao12.setFont(mensa0);

        botao13.setFont(mensa0);
        botao14.setFont(mensa0);
        botao15.setFont(mensa0);
        botao16.setFont(mensa0);
        botao17.setFont(mensa0);
        botao18.setFont(mensa0);

        botao19.setFont(mensa0);
        botao20.setFont(mensa0);
        botao21.setFont(mensa0);
        botao22.setFont(mensa0);
        botao23.setFont(mensa0);
        botao24.setFont(mensa0);
        painel24.repaint();

        painel24.add(botao1);
        painel24.add(botao2);
        painel24.add(botao3);
        painel24.add(botao4);
        painel24.add(botao5);
        painel24.add(botao6);

        painel24.add(botao7);
        painel24.add(botao8);
        painel24.add(botao9);
        painel24.add(botao10);
        painel24.add(botao11);
        painel24.add(botao12);

        painel24.add(botao13);
        painel24.add(botao14);
        painel24.add(botao15);
        painel24.add(botao16);
        painel24.add(botao17);
        painel24.add(botao18);

        painel24.add(botao19);
        painel24.add(botao20);
        painel24.add(botao21);
        painel24.add(botao22);
        painel24.add(botao23);
        painel24.add(botao24);

        painel24.setLayout(null);
        painel24.setBounds(01, 01, 485, 465);
        painel24.setBackground(Color.BLUE);

        painelFundo.add(painel24);
        /* @reginildosousa antes de adicionar o painelFundo a tela eu chamo o metodo repaint */
        tela.repaint();

        tela.add(painelFundo);

    }

    void Botoes32() {
        /* @reginildosousa cada vez que chamo o metodo "Botoes" eu removo todos os componentes para colocalos de volta*/
        painelFundo.removeAll();

        //============== 32 Botões
        botao1.setBounds(02, 05, 60, 110);
        botao2.setBounds(62, 05, 60, 110);
        botao3.setBounds(122, 05, 60, 110);
        botao4.setBounds(182, 05, 60, 110);
        botao5.setBounds(242, 05, 60, 110);
        botao6.setBounds(302, 05, 60, 110);
        botao7.setBounds(362, 05, 60, 110);
        botao8.setBounds(422, 05, 60, 110);

        botao9.setBounds(02, 120, 60, 110);
        botao10.setBounds(62, 120, 60, 110);
        botao11.setBounds(122, 120, 60, 110);
        botao12.setBounds(182, 120, 60, 110);
        botao13.setBounds(242, 120, 60, 110);
        botao14.setBounds(302, 120, 60, 110);
        botao15.setBounds(362, 120, 60, 110);
        botao16.setBounds(422, 120, 60, 110);

        botao17.setBounds(02, 235, 60, 110);
        botao18.setBounds(62, 235, 60, 110);
        botao19.setBounds(122, 235, 60, 110);
        botao20.setBounds(182, 235, 60, 110);
        botao21.setBounds(242, 235, 60, 110);
        botao22.setBounds(302, 235, 60, 110);
        botao23.setBounds(362, 235, 60, 110);
        botao24.setBounds(422, 235, 60, 110);

        botao25.setBounds(02, 350, 60, 110);
        botao26.setBounds(62, 350, 60, 110);
        botao27.setBounds(122, 350, 60, 110);
        botao28.setBounds(182, 350, 60, 110);
        botao29.setBounds(242, 350, 60, 110);
        botao30.setBounds(302, 350, 60, 110);
        botao31.setBounds(362, 350, 60, 110);
        botao32.setBounds(422, 350, 60, 110);

        Font mensa0 = new Font("Arial Narrow", Font.BOLD, 18);
        botao1.setFont(mensa0);
        botao2.setFont(mensa0);
        botao3.setFont(mensa0);
        botao4.setFont(mensa0);
        botao5.setFont(mensa0);
        botao6.setFont(mensa0);
        botao7.setFont(mensa0);
        botao8.setFont(mensa0);

        botao9.setFont(mensa0);
        botao10.setFont(mensa0);
        botao11.setFont(mensa0);
        botao12.setFont(mensa0);
        botao13.setFont(mensa0);
        botao14.setFont(mensa0);
        botao15.setFont(mensa0);
        botao16.setFont(mensa0);

        botao17.setFont(mensa0);
        botao18.setFont(mensa0);
        botao19.setFont(mensa0);
        botao20.setFont(mensa0);
        botao21.setFont(mensa0);
        botao22.setFont(mensa0);
        botao23.setFont(mensa0);
        botao24.setFont(mensa0);

        botao25.setFont(mensa0);
        botao26.setFont(mensa0);
        botao27.setFont(mensa0);
        botao28.setFont(mensa0);
        botao29.setFont(mensa0);
        botao30.setFont(mensa0);
        botao31.setFont(mensa0);
        botao32.setFont(mensa0);

        painel32.add(botao1);
        painel32.add(botao2);
        painel32.add(botao3);
        painel32.add(botao4);
        painel32.add(botao5);
        painel32.add(botao6);
        painel32.add(botao7);
        painel32.add(botao8);

        painel32.add(botao9);
        painel32.add(botao10);
        painel32.add(botao11);
        painel32.add(botao12);
        painel32.add(botao13);
        painel32.add(botao14);
        painel32.add(botao15);
        painel32.add(botao16);

        painel32.add(botao17);
        painel32.add(botao18);
        painel32.add(botao19);
        painel32.add(botao20);
        painel32.add(botao21);
        painel32.add(botao22);
        painel32.add(botao23);
        painel32.add(botao24);

        painel32.add(botao25);
        painel32.add(botao26);
        painel32.add(botao27);
        painel32.add(botao28);
        painel32.add(botao29);
        painel32.add(botao30);
        painel32.add(botao31);
        painel32.add(botao32);

        painel32.setLayout(null);
        painel32.setBounds(01, 01, 485, 465);
        painel32.setBackground(Color.RED);

        painelFundo.add(painel32);
        /* @reginildosousa antes de adicionar o painelFundo a tela eu chamo o metodo repaint */
        tela.repaint();
        tela.add(painelFundo);


    }

    private class RadioButtonHandler implements ItemListener {
        @Override
        public void itemStateChanged(ItemEvent event) {
            if (rd1.isSelected() == true) {
                Botoes16();
            }
            if (rd2.isSelected() == true) {
                Botoes24();
            }
            if (rd3.isSelected() == true) {
                Botoes32();
            }
        }
    }
}

Só esclarecendo que o método que eu usei é repaint() do JFrame que causa o mesmo efeito do F5 do teclado. rsrsrsrs.

Então coleguinha, como já citei antes, você tem que dar uma estudada nos gerenciadores de layout e, principalmente, tem que quebrar seu código em partes menores.

Outra coisa, você sempre esquece de formatar o código no fórum, aí fica ruim de ler ou fazer ctrl+c, ctrl+v pra testar.

Você tenta resolver tudo num lugar só, aí, além de confuso, a coisa não anda.

Veja um exemplo de seu código reescrito:

Classe JMemoria, a classe principal, que contém o método main:

package jmemoria;

import javax.swing.UIManager;
import javax.swing.WindowConstants;

public class JMemoria {

    public static void main(String[] args) {
        try {
            JMemoria programa = new JMemoria();
            programa.executar();
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }

    public void executar() throws Exception {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        JanelaPrincipal janela = new JanelaPrincipal();
        janela.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        janela.setVisible(true);
    }
}

Classe JanelaPrincipal, a classe que é a janela da sua interface gráfica:

package jmemoria;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Dimension;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class JanelaPrincipal extends JFrame {

    private static final String BOTOES_16 = "16";
    private static final String BOTOES_24 = "24";
    private static final String BOTOES_32 = "32";

    private JPanel cardPanel;
    private CardLayout cardLayout;

    JanelaPrincipal() {
        super("JOGO DA MEMÓRIA");
        Dimension size = new Dimension(680, 480);
        setSize(size);
        setMinimumSize(size);
        setLocationRelativeTo(null);

        JPanel container = new JPanel();
        container.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
        container.setLayout(new BorderLayout(5, 5));
        container.add(new PainelEsquerdo(this), BorderLayout.WEST);
        container.add(new PainelInferior(this), BorderLayout.SOUTH);
        container.add(criarCardlayout(), BorderLayout.CENTER);

        setContentPane(container);
    }

    public void mostraPainelBotoes16() {
        cardLayout.show(cardPanel, BOTOES_16);
    }

    public void mostraPainelBotoes24() {
        cardLayout.show(cardPanel, BOTOES_24);
    }

    public void mostraPainelBotoes32() {
        cardLayout.show(cardPanel, BOTOES_32);
    }

    private JPanel criarCardlayout() {
        cardLayout = new CardLayout(5, 5);
        cardPanel = new JPanel(cardLayout);
        cardPanel.add(new PainelBotoes(this, 4, 4), BOTOES_16);
        cardPanel.add(new PainelBotoes(this, 4, 6), BOTOES_24);
        cardPanel.add(new PainelBotoes(this, 4, 8), BOTOES_32);
        return cardPanel;
    }
}

Classe PainelEsquerdo, a classe que, como o nome sugere, representa o painél renderizado do lado esquerdo da sua janela:

package jmemoria;

import java.awt.Dimension;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

class PainelEsquerdo extends JPanel {

    private JButton botaoIniciar;
    private JButton botaoPausar;
    private JButton botaoContinuar;
    private JButton botaoSair;
    private JLabel txtTempo;
    private JLabel txtClicks;
    private JLabel txtDireto;

    public PainelEsquerdo(JanelaPrincipal janelaPrincipal) {
        Dimension tamanhoPainel = new Dimension(150, 300);
        setPreferredSize(tamanhoPainel);

        setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));

        botaoIniciar = new JButton("Início");
        botaoPausar = new JButton("Pausa");
        botaoContinuar = new JButton("Continuar");
        botaoSair = new JButton("Sair");
        txtTempo = new JLabel("Tempo");
        txtClicks = new JLabel("Clicks");
        txtDireto = new JLabel("Direto");

        // BoxLayout.Y_AXIS só respeita o MaximumSize
        Dimension tamanhoComponentes = new Dimension(150, 30);
        botaoIniciar.setMaximumSize(tamanhoComponentes);
        botaoPausar.setMaximumSize(tamanhoComponentes);
        botaoContinuar.setMaximumSize(tamanhoComponentes);
        botaoSair.setMaximumSize(tamanhoComponentes);
        txtTempo.setMaximumSize(tamanhoComponentes);
        txtClicks.setMaximumSize(tamanhoComponentes);
        txtDireto.setMaximumSize(tamanhoComponentes);

        botaoIniciar.addActionListener(event -> iniciar());
        botaoPausar.addActionListener(event -> pausar());
        botaoContinuar.addActionListener(event -> continuar());
        botaoSair.addActionListener(event -> sair());

        int espaco = 5;
        add(Box.createVerticalStrut(espaco));
        add(botaoIniciar);
        add(Box.createVerticalStrut(espaco));
        add(botaoPausar);
        add(Box.createVerticalStrut(espaco));
        add(botaoContinuar);
        add(Box.createVerticalStrut(espaco));
        add(botaoSair);
        add(Box.createVerticalStrut(espaco));
        add(txtTempo);
        add(Box.createVerticalStrut(espaco));
        add(txtClicks);
        add(Box.createVerticalStrut(espaco));
        add(txtDireto);

    }

    private void continuar() {
        // aqui tu implementa a lógica do Continuar
    }

    private void iniciar() {
        // aqui tu implementa a lógica do Iniciar
        botaoIniciar.setEnabled(false);
    }

    private void pausar() {
        // aqui tu implementa a lógica do Pausar
    }

    private void sair() {
        // aqui tu implementa a lógica do Sair
        System.exit(0);
    }
}

Classe PainelInferior, a classe que, como o nome sugere, é renderizada na parte inferior da sua janela:

package jmemoria;

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

public class PainelInferior extends JPanel {

    private static final Font ARIAL_NARROW_BOLD_14 = new Font("Arial Narrow", Font.BOLD, 14);
    private static final Font ARIAL_NARROW_BOLD_18 = new Font("Arial Narrow", Font.BOLD, 18);

    private static final int RADIO_16 = 16;
    private static final int RADIO_24 = 24;
    private static final int RADIO_32 = 32;

    private final JanelaPrincipal janelaPrincipal;

    public PainelInferior(JanelaPrincipal janelaPrincipal) {
        this.janelaPrincipal = janelaPrincipal;

        this.setLayout(new GridLayout(1, 3));
        this.add(criarPainelCategoria());
        this.add(criarPainelPartidas());
        this.add(criarPainelSobeDesce());
    }

    private JPanel criarPainelCategoria() {
        JLabel txtCategorias = new JLabel("Categorias");
        txtCategorias.setFont(ARIAL_NARROW_BOLD_14);
        txtCategorias.setPreferredSize(new Dimension(80, 20));

        JComboBox combo = new JComboBox();
        combo.setPreferredSize(new Dimension(150, 20));

        JRadioButton rd1 = new JRadioButton("16 X", true);
        JRadioButton rd2 = new JRadioButton("24 X", false);
        JRadioButton rd3 = new JRadioButton("32 X", false);

        Dimension radioSize = new Dimension(50, 20);
        rd1.setPreferredSize(radioSize);
        rd2.setPreferredSize(radioSize);
        rd3.setPreferredSize(radioSize);

        rd1.addItemListener(event -> selecionou(RADIO_16));
        rd2.addItemListener(event -> selecionou(RADIO_24));
        rd3.addItemListener(event -> selecionou(RADIO_32));

        ButtonGroup grupo = new ButtonGroup();
        grupo.add(rd1);
        grupo.add(rd2);
        grupo.add(rd3);

        JPanel panel = new JPanel(new GridBagLayout());
        GridBagConstraints c = new GridBagConstraints();
        c.gridx = 0;
        c.gridy = 0;
        panel.add(txtCategorias, c);

        c = new GridBagConstraints();
        c.gridx = 1;
        c.gridy = 0;
        c.ipadx = 5;
        c.ipady = 5;
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridwidth = 3;
        panel.add(combo, c);

        c = new GridBagConstraints();
        c.gridx = 1;
        c.gridy = 1;
        c.ipadx = 5;
        c.ipady = 5;
        panel.add(rd1, c);

        c = new GridBagConstraints();
        c.gridx = 2;
        c.gridy = 1;
        c.ipadx = 5;
        c.ipady = 5;
        panel.add(rd2, c);

        c = new GridBagConstraints();
        c.gridx = 3;
        c.gridy = 1;
        c.ipadx = 5;
        c.ipady = 5;
        panel.add(rd3, c);
        panel.setPreferredSize(new Dimension(300, 80));
        return panel;
    }

    private JPanel criarPainelPartidas() {
        JLabel txtPartidas = new JLabel("Qtde de Partidas");
        JLabel txtQPartidas = new JLabel("0000");

        JLabel txtJogadas = new JLabel("Qtde de Jogadas");
        JLabel txtQJogadas = new JLabel("0000");

        Dimension txtSize = new Dimension(150, 20);
        txtPartidas.setPreferredSize(txtSize);
        txtJogadas.setPreferredSize(txtSize);

        Dimension txtqSize = new Dimension(50, 20);
        txtQPartidas.setPreferredSize(txtqSize);
        txtQJogadas.setPreferredSize(txtqSize);

        txtPartidas.setFont(ARIAL_NARROW_BOLD_14);
        txtJogadas.setFont(ARIAL_NARROW_BOLD_14);

        txtQPartidas.setFont(ARIAL_NARROW_BOLD_18);
        txtQJogadas.setFont(ARIAL_NARROW_BOLD_18);

        JPanel panel = new JPanel(new GridBagLayout());

        GridBagConstraints c = new GridBagConstraints();
        c.gridx = 0;
        c.gridy = 0;
        panel.add(txtPartidas, c);

        c = new GridBagConstraints();
        c.gridx = 1;
        c.gridy = 0;
        panel.add(txtQPartidas, c);

        c = new GridBagConstraints();
        c.gridx = 0;
        c.gridy = 1;
        panel.add(txtJogadas, c);

        c = new GridBagConstraints();
        c.gridx = 1;
        c.gridy = 1;
        panel.add(txtQJogadas, c);
        panel.setPreferredSize(new Dimension(200, 80));
        return panel;
    }

    private JPanel criarPainelSobeDesce() {

        JButton botaoPCima = new JButton("Sobe");
        JButton botaoPBaixo = new JButton("Desce");

        botaoPCima.setFont(ARIAL_NARROW_BOLD_14);
        botaoPBaixo.setFont(ARIAL_NARROW_BOLD_14);

        Dimension size = new Dimension(80, 45);
        botaoPCima.setPreferredSize(size);
        botaoPBaixo.setPreferredSize(size);

        botaoPBaixo.addActionListener(event -> subir());
        botaoPBaixo.addActionListener(event -> descer());

        JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 5));

        panel.add(botaoPCima);
        panel.add(botaoPBaixo);
        return panel;
    }

    private void descer() {
        // Aqui vai a lógica do botão Desce
    }

    private void selecionou(int radio) {
        switch (radio) {
            case RADIO_16:
                janelaPrincipal.mostraPainelBotoes16();
                return;
            case RADIO_24:
                janelaPrincipal.mostraPainelBotoes24();
                return;
            case RADIO_32:
                janelaPrincipal.mostraPainelBotoes32();
                return;
        }
    }

    private void subir() {
        // Aqui vai a lógica do botão Sobe
    }
}

Classe PainelBotoes, a classe que representa o painél onde seus botões aparecem, você informa a quantidade de linhas e colunas e o PainelBotoes sabe como organizar os botões:

package jmemoria;

import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JPanel;

public class PainelBotoes extends JPanel {

    public PainelBotoes(JanelaPrincipal janelaPrincipal, int linhas, int colunas) {
        setLayout(new GridLayout(linhas, colunas, 5, 5));
        int numero = 0;
        for (int lin = 0; lin < linhas; lin++) {
            for (int col = 0; col < colunas; col++) {
                numero++;
                final JButton botao = new JButton(String.valueOf(numero));
                botao.addActionListener(event -> clicouNoBotao(botao));
                add(botao);
            }
        }
    }

    private void clicouNoBotao(JButton botao) {
        // aqui tu implementa a lógica ao clicar num botão
        System.err.println(botao.getText());
    }
}
1 curtida

Hei staroski.

Muito obrigado viu.

Por primeiro me ajudar e ensinar muito, mas muito mesmo. Eu fiquei até constrangido.
Vou estudar mais pra fazer direito sim. Obrigado mesmo.

1 curtida