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 botoesFont 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