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

4 respostas
java
PapaiLu

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

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

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

public void actionPerformed(ActionEvent e) {

String atuar = e.getActionCommand();

switch(atuar) {

case rd_01:    Quadro08();       break;

case rd_02:   Quadro16();        break;

case rd_03:   Quadro32();        break;

}  }  }

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

public void Quadro08() {

quadro04.setLayout(new GridLayout(2,2));

quadro04.add(botao01);

quadro04.add(botao02);

quadro04.add(botao03);

quadro04.add(botao04);

quadro04.add(botao05);

quadro04.add(botao06);

quadro04.add(botao07);

quadro04.add(botao08);

}

Obrigado.

4 Respostas

staroski

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

PapaiLu

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

FearX

Sobe no pastebin e posta :wink:

PapaiLu
package projetojmemoria;

//

import java.awt.Color;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JRadioButton;

import javax.swing.JTextField;

import javax.swing.Timer;

/**
*

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

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

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

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

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

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

    JComboBox combo1 = new JComboBox();

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

    public JButton botao01 = new JButton();
    
    public JButton botao02 = new JButton();
    
    public JButton botao03 = new JButton();
    
    public JButton botao04 = new JButton();
    
    public JButton botao05 = new JButton();
    
    public JButton botao06 = new JButton();
    
    public JButton botao07 = new JButton();
    
    public JButton botao08 = new JButton();
    
    public JButton botao09 = new JButton();
    
    public JButton botao10 = new JButton();
    
    public JButton botao11 = new JButton();
    
    public JButton botao12 = new JButton();
    
    public JButton botao13 = new JButton();
    
    public JButton botao14 = new JButton();
    
    public JButton botao15 = new JButton();
    
    public JButton botao16 = new JButton();
    
    public JButton botao17 = new JButton();
    
    public JButton botao18 = new JButton();
    
    public JButton botao19 = new JButton();
    
    public JButton botao20 = new JButton();
    
    public JButton botao21 = new JButton();
    
    public JButton botao22 = new JButton();
    
    public JButton botao23 = new JButton();
    
    public JButton botao24 = new JButton();
    
    public JButton botao25 = new JButton();
    
    public JButton botao26 = new JButton();
    
    public JButton botao27 = new JButton();
    
    public JButton botao28 = new JButton();
    
    public JButton botao29 = new JButton();
    
    public JButton botao30 = new JButton();
    
    public JButton botao31 = new JButton();
    
    public JButton botao32 = new JButton();
    
    long hora;
    
    //=========================================================================
    
    class Evento implements ActionListener     {
    
    public void actionPerformed(ActionEvent e) {
    
    String atuar = e.getActionCommand();
    
    switch(atuar) {
    
    case rd_01:
    
    Quadro08(); //quadro com 08 botões
    
    break;
    
    case rd_02:
    
    Quadro16(); //quadro com 16 botões
    
    break;
    
    case rd_03:
    
    Quadro32(); //quadro com 32 botões
    
    break;
    
    }
    
    tempo.setText(0+"");
    
    }
    
    }
    
    //======================================//não alterar acima deste=============
    
    public void DefinePaineis() {
    
    quadbase.setLayout(null);
    
    quadbase.setBackground(Color.black);
    
    quadbase.setBounds(01,01,500,600);
    
    //===========================
    
    Quadro01();
    
    Quadro02();
    
    Quadro03();
    
    Quadro04();
    
    //
    
    quadbase.add(quadro01);
    
    quadbase.add(quadro02);
    
    quadbase.add(quadro03);
    
    quadbase.add(quadro04);
    
    telajogo.add(quadbase);
    
    }
    
    //======================================//não alterar acima deste===========
    
    public void Quadro01() {    //Quadro de botoes de controle
    
    quadro01.getComponents();
    
    quadro01.setLayout(null);
    
    quadro01.setBackground(Color.ORANGE);
    
    quadro01.setBounds(05,05,110,275);
    
    }
    
    //======================================//não alterar acima deste
    
    public void Quadro02() {    //Quadro painel de controles (base da tela)
    
    quadro02.setLayout(null);
    
    quadro02.setBackground(Color.blue);
    
    quadro02.setBounds(05,460,565,95);
    
    }
    
    //======================================//não alterar acima deste
    
    public void Quadro03() {     //Quadro para aviso de pontos (mini placar)
    
    quadro03.setLayout(null);
    
    quadro03.setBackground(Color.MAGENTA);
    
    quadro03.setBounds(05,285,110,170);
    
    }
    
    //======================================//não alterar acima deste
    
    public void Quadro04() {    //Quadro para o jogo de botoes
    
    quadro04.setLayout(null);
    
    quadro04.setBackground(Color.YELLOW);
    
    quadro04.setBounds(120,05,450,450);
    
    }
    
    //======================================
    
    public void DefineQuadro01(){       //setBounds(05,285,110,170);
    
    Font mensa1 = new Font(Arial Black, Font.BOLD, 40);
    
    botaoE1.setFont(mensa1);
    
    botaoE2.setFont(mensa1);
    
    botaoE3.setFont(mensa1);
    
    botaoE1 = new JButton("INICIO");
     botaoE2 = new JButton("PAUSA");
     botaoE3 = new JButton("SAIR");
     
     botaoE1.setBounds( 01, 01,108,90);
     botaoE2.setBounds( 01, 92,108,90);
     botaoE3.setBounds( 01,183,108,90);
     
     quadro01.add(botaoE1);
     quadro01.add(botaoE2);
     quadro01.add(botaoE3);
    
    }
    
    //======================================//não alterar acima deste
    
    public void DefineQuadro02() {
    
    Font mensa1 = new Font(Arial Narrow, Font.BOLD, 20);
    
    botaoCm.setFont(mensa1);
    
    botaoBx.setFont(mensa1);
    
    botaoCm = new JButton("01");
     botaoBx = new JButton("02");
     
     botaoCm.setBounds( 375,05,90,85);
     botaoBx.setBounds( 470,05,90,85);
     quadro02.add(botaoCm);
     quadro02.add(botaoBx);
    
    }
    
    //=====================================
    
    public void MontaComboQuadro02() {  //05,460,565,95);
    
    quadro02.add(combo1);
    
    Font mensa1 = new Font("Arial Narrow", Font.BOLD, 20);
     combo1.setFont(mensa1);
     combo1.setForeground(Color.WHITE);    //cor para os radiobuttons
     combo1.setBackground(Color.BLUE);
     
     combo1.addItem("Família");
     combo1.addItem("Frutas");
     combo1.addItem("Animais");
     
     combo1.setBounds(05,05,140,30);
    
    }
    
    //======================================//não alterar acima deste
    
    public void DefineTempoQuadro02() {
    
    quadro02.add(tempo);
    
    Font mensa0 = new Font(Arial Narrow, Font.BOLD, 40);
    
    tempo.setFont(mensa0);
    
    tempo.setBackground(Color.BLUE);
    
    tempo.setForeground(Color.yellow);
    
    tempo.setBounds( 05,40,140,40);
    
    tempo.setHorizontalAlignment(tempo.CENTER);
    
    tempo.setText(00:00:00);
    
    }
    
    //=====================================
    
    public void MontaJRadioQuadro02() {
    
    grupo.add(rd1);
    
    grupo.add(rd2);
    
    grupo.add(rd3);
    
    rd1.setForeground(Color.WHITE);    //cor para os radiobuttons
     rd1.setBackground(Color.BLUE);
     quadro01.add(rd1);
     rd1.setBounds( 230,05,100,25);
     
     rd2.setForeground(Color.WHITE);
     rd2.setBackground(Color.BLUE);
     quadro01.add(rd2);
     rd2.setBounds( 230,35,100,25);
     
     rd3.setForeground(Color.WHITE);
     rd3.setBackground(Color.BLUE);
     quadro01.add(rd3);
     rd3.setBounds( 230,65,100,25);
     
     quadro02.add(rd1);
     quadro02.add(rd2);
     quadro02.add(rd3);
    
    }
    
    //======================================//não alterar acima deste
    
    public void DefineQuadro03() {  //(05,285,110,170);
    
    Font mensa0 = new Font(Arial Narrow, Font.BOLD, 14);
    
    txtTempo.setFont(mensa0);
    
    txtTempo.setBounds      ( 05, 05,50,40);
    
    txtTempo.setForeground(Color.WHITE);
    
    quadro03.add(txtTempo);
    
    txtClick.setFont(mensa0);
     txtClick.setForeground(Color.WHITE);
     txtClick.setBounds      ( 05, 45,50,40);
     quadro03.add(txtClick);
     
     txtDireto.setFont(mensa0);
     txtDireto.setForeground(Color.WHITE);
     txtDireto.setBounds     ( 05, 85,50,40);
     quadro03.add(txtDireto);
     
     txtPartidas.setFont(mensa0);
     txtPartidas.setForeground(Color.WHITE);
     txtPartidas.setBounds   ( 05,125,50,40);
     quadro03.add(txtPartidas);
     //-----------------------------------------
     Font mensa1 = new Font("Arial Narrow", Font.BOLD, 20);
     txtQTempo.setFont(mensa1);
     txtQTempo.setForeground(Color.WHITE);
     txtQTempo.setBounds    (70, 05,100,40);
     quadro03.add(txtQTempo);
     
     txtQClick.setFont(mensa1);
     txtQClick.setForeground(Color.WHITE);
     txtQClick.setBounds    (70, 45,100,40);
     quadro03.add(txtQClick);
     
     txtQDireto.setFont(mensa1);
     txtQDireto.setForeground(Color.WHITE);
     txtQDireto.setBounds   (70, 85,100,40);
     quadro03.add(txtQDireto);
     
     txtQPartidas.setFont(mensa1);
     txtQPartidas.setForeground(Color.WHITE);
     txtQPartidas.setBounds (70,125,100,40);
     quadro03.add(txtQPartidas);
    
    }
    
    //======================================
    
    public ProjetoJMemoria() {
    
    ActionListener actionListener  = new Evento();
    
    telajogo.getContentPane().setBackground(Color.BLUE);
     telajogo.setBounds(250, 100, 590,600);
     telajogo.setLayout(new GridLayout());
     telajogo.setDefaultCloseOperation(3); //exit on close
     telajogo.setLocationRelativeTo(null); //posiciona a janela no centro da tela
     telajogo.setVisible(true);
     //
     DefinePaineis();
     DefineQuadro01();
     DefineQuadro02();
     DefineQuadro03();
     DefineTempoQuadro02();
     MontaJRadioQuadro02();
     MontaComboQuadro02();
     
     rd1.setActionCommand("rd_01");
     rd2.setActionCommand("rd_02");
     rd3.setActionCommand("rd_03");
     
     rd1.addActionListener(actionListener );
     rd2.addActionListener(actionListener );
     rd3.addActionListener(actionListener );
     
     Quadro08();
     
     ContaTempo();
    

    }

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

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

    new ProjetoJMemoria();
    
    }
    
    //======================================//não alterar acima deste=============
    
    }
    
Criado 15 de agosto de 2018
Ultima resposta 15 de ago. de 2018
Respostas 4
Participantes 3