[code]
import java.awt.;
import java.awt.event.;
import javax.swing.*;
public class Jogo extends JPanel implements ActionListener {
int Tent=3,Certo=0;
JLabel Imagem1,Imagem2,Imagem3,Imagem4,Imagem5,Imagem6,Imagem7,
Pergunta1,Pergunta2,Pergunta3,Pergunta4,Pergunta5,Pergunta6,Pergunta7;
JButton NJogo,Pontuacoes,Sair,Ok1,Ok2,Ok3,Ok4,Ok5,Ok6,Ok7;
JRadioButton Resposta11,Resposta12,Resposta13,Resposta14,
Resposta21,Resposta22,Resposta23,Resposta24,
Resposta31,Resposta32,Resposta33,Resposta34,
Resposta41,Resposta42,Resposta43,Resposta44,
Resposta51,Resposta52,Resposta53,Resposta54,
Resposta61,Resposta62,Resposta63,Resposta64,
Resposta71,Resposta72,Resposta73,Resposta74;
ImageIcon icon1,icon2,icon3,icon4,icon5,icon6,icon7;
public Jogo()
{
ImageIcon icon1 = createImageIcon("1.gif");
ImageIcon icon2 = createImageIcon("2.gif");
ImageIcon icon3 = createImageIcon("3.gif");
ImageIcon icon4 = createImageIcon("4.gif");
ImageIcon icon5 = createImageIcon("5.gif");
ImageIcon icon6 = createImageIcon("6.gif");
ImageIcon icon7 = createImageIcon("7.gif");
Imagem1 = new JLabel(icon1);
Imagem2 = new JLabel(icon2);
Imagem3 = new JLabel(icon3);
Imagem4 = new JLabel(icon4);
Imagem5 = new JLabel(icon5);
Imagem6 = new JLabel(icon6);
Imagem7 = new JLabel(icon7);
Pergunta1 = new JLabel("Qual o animal que está presente na imagem?");
Pergunta2 = new JLabel("Qual o nome da personagem principal do filme Matrix?");
Pergunta3 = new JLabel("Em que ano nasceu Albert Einstein?");
Pergunta4 = new JLabel("Quantos Km2 de superfície tem Portugal?");
Pergunta5 = new JLabel("Como se chamava o pai do 2º Rei de Portugal?");
Pergunta6 = new JLabel("A quem pertence o record do mundo nos 100m em atletismo?");
Pergunta7 = new JLabel("Qual é o símbolo químico do Itérbio?");
NJogo = new JButton("Novo Jogo");
Pontuacoes = new JButton("Pontuações");
Sair = new JButton("Sair");
Ok1 = new JButton("Ok");
Ok2 = new JButton("Ok");
Ok3 = new JButton("Ok");
Ok4 = new JButton("Ok");
Ok5 = new JButton("Ok");
Ok6 = new JButton("Ok");
Ok7 = new JButton("Ok");
Resposta11 = new JRadioButton("Galo");
Resposta12 = new JRadioButton("Rato");
Resposta13 = new JRadioButton("Cão");
Resposta14 = new JRadioButton("Gato");
Resposta11.setActionCommand("11");
Resposta12.setActionCommand("12");
Resposta13.setActionCommand("13");
Resposta14.setActionCommand("14");
Resposta21 = new JRadioButton("Nelo");
Resposta22 = new JRadioButton("Nero");
Resposta23 = new JRadioButton("Nerd");
Resposta24 = new JRadioButton("Neo");
Resposta21.setActionCommand("21");
Resposta22.setActionCommand("22");
Resposta23.setActionCommand("23");
Resposta24.setActionCommand("24");
Resposta31 = new JRadioButton("1850");
Resposta32 = new JRadioButton("1901");
Resposta33 = new JRadioButton("1879");
Resposta34 = new JRadioButton("1877");
Resposta31.setActionCommand("31");
Resposta32.setActionCommand("32");
Resposta33.setActionCommand("33");
Resposta34.setActionCommand("34");
Resposta41 = new JRadioButton("28,765");
Resposta42 = new JRadioButton("92,100");
Resposta43 = new JRadioButton("105,600");
Resposta44 = new JRadioButton("65,822");
Resposta41.setActionCommand("41");
Resposta42.setActionCommand("42");
Resposta43.setActionCommand("43");
Resposta44.setActionCommand("44");
Resposta51 = new JRadioButton("Filipe, Príncipe de Saxe-Coburg-Gotha");
Resposta52 = new JRadioButton("Augusto, Príncipe de Saxe-Coburg-Gotha");
Resposta53 = new JRadioButton("D.Afonso Henriques, Rei de Portugal");
Resposta54 = new JRadioButton("Fernando, Duque de Saxe-Coburg-Gotha");
Resposta51.setActionCommand("51");
Resposta52.setActionCommand("52");
Resposta53.setActionCommand("53");
Resposta54.setActionCommand("54");
Resposta61 = new JRadioButton("Maurice Greene");
Resposta62 = new JRadioButton("Donovan Bailey");
Resposta63 = new JRadioButton("Frank Fredericks");
Resposta64 = new JRadioButton("Carl Lewis");
Resposta61.setActionCommand("61");
Resposta62.setActionCommand("62");
Resposta63.setActionCommand("63");
Resposta64.setActionCommand("64");
Resposta71 = new JRadioButton("In");
Resposta72 = new JRadioButton("Yb");
Resposta73 = new JRadioButton("Mo");
Resposta74 = new JRadioButton("Ir");
Resposta71.setActionCommand("71");
Resposta72.setActionCommand("72");
Resposta73.setActionCommand("73");
Resposta74.setActionCommand("74");
NJogo.setMnemonic(KeyEvent.VK_J);
NJogo.setToolTipText("Clique aqui para iniciar um novo jogo");
NJogo.setActionCommand("J");
Pontuacoes.setMnemonic(KeyEvent.VK_P);
Pontuacoes.setToolTipText("Clique aqui para ver as pontuações");
Pontuacoes.setActionCommand("P");
Sair.setMnemonic(KeyEvent.VK_S);
Sair.setToolTipText("Clique aqui para sair");
Sair.setActionCommand("S");
Ok1.setActionCommand("Pr1");
Ok2.setActionCommand("Pr2");
Ok3.setActionCommand("Pr3");
Ok4.setActionCommand("Pr4");
Ok5.setActionCommand("Pr5");
Ok6.setActionCommand("Pr6");
Ok7.setActionCommand("Pr7");
Ok1.setVisible(false);
Ok2.setVisible(false);
Ok3.setVisible(false);
Ok4.setVisible(false);
Ok5.setVisible(false);
Ok6.setVisible(false);
Ok7.setVisible(false);
Imagem1.setVisible(false);
Imagem2.setVisible(false);
Imagem3.setVisible(false);
Imagem4.setVisible(false);
Imagem5.setVisible(false);
Imagem6.setVisible(false);
Imagem7.setVisible(false);
Resposta11.setVisible(false);
Resposta12.setVisible(false);
Resposta13.setVisible(false);
Resposta14.setVisible(false);
Pergunta1.setVisible(false);
Resposta21.setVisible(false);
Resposta22.setVisible(false);
Resposta23.setVisible(false);
Resposta24.setVisible(false);
Pergunta2.setVisible(false);
Resposta31.setVisible(false);
Resposta32.setVisible(false);
Resposta33.setVisible(false);
Resposta34.setVisible(false);
Pergunta3.setVisible(false);
Resposta41.setVisible(false);
Resposta42.setVisible(false);
Resposta43.setVisible(false);
Resposta44.setVisible(false);
Pergunta4.setVisible(false);
Resposta51.setVisible(false);
Resposta52.setVisible(false);
Resposta53.setVisible(false);
Resposta54.setVisible(false);
Pergunta5.setVisible(false);
Resposta61.setVisible(false);
Resposta62.setVisible(false);
Resposta63.setVisible(false);
Resposta64.setVisible(false);
Pergunta6.setVisible(false);
Resposta71.setVisible(false);
Resposta72.setVisible(false);
Resposta73.setVisible(false);
Resposta74.setVisible(false);
Pergunta7.setVisible(false);
add(Pergunta1);
add(Pergunta2);
add(Pergunta3);
add(Pergunta4);
add(Pergunta5);
add(Pergunta6);
add(Pergunta7);
add(Resposta11);
add(Resposta12);
add(Resposta13);
add(Resposta14);
add(Resposta21);
add(Resposta22);
add(Resposta23);
add(Resposta24);
add(Resposta31);
add(Resposta32);
add(Resposta33);
add(Resposta34);
add(Resposta41);
add(Resposta42);
add(Resposta43);
add(Resposta44);
add(Resposta51);
add(Resposta52);
add(Resposta53);
add(Resposta54);
add(Resposta61);
add(Resposta62);
add(Resposta63);
add(Resposta64);
add(Resposta71);
add(Resposta72);
add(Resposta73);
add(Resposta74);
add(Imagem1);
add(Imagem2);
add(Imagem3);
add(Imagem4);
add(Imagem5);
add(Imagem6);
add(Imagem7);
add(NJogo);
add(Pontuacoes);
add(Sair);
add(Ok1);
add(Ok2);
add(Ok3);
add(Ok4);
add(Ok5);
add(Ok6);
add(Ok7);
NJogo.addActionListener(this);
Pontuacoes.addActionListener(this);
Sair.addActionListener(this);
Ok1.addActionListener(this);
Ok2.addActionListener(this);
Ok3.addActionListener(this);
Ok4.addActionListener(this);
Ok5.addActionListener(this);
Ok6.addActionListener(this);
Ok7.addActionListener(this);
Resposta11.addActionListener(this);
Resposta12.addActionListener(this);
Resposta13.addActionListener(this);
Resposta14.addActionListener(this);
Resposta21.addActionListener(this);
Resposta22.addActionListener(this);
Resposta23.addActionListener(this);
Resposta24.addActionListener(this);
Resposta31.addActionListener(this);
Resposta32.addActionListener(this);
Resposta33.addActionListener(this);
Resposta34.addActionListener(this);
Resposta41.addActionListener(this);
Resposta42.addActionListener(this);
Resposta43.addActionListener(this);
Resposta44.addActionListener(this);
Resposta51.addActionListener(this);
Resposta52.addActionListener(this);
Resposta53.addActionListener(this);
Resposta54.addActionListener(this);
Resposta61.addActionListener(this);
Resposta62.addActionListener(this);
Resposta63.addActionListener(this);
Resposta64.addActionListener(this);
Resposta71.addActionListener(this);
Resposta72.addActionListener(this);
Resposta73.addActionListener(this);
Resposta74.addActionListener(this);
}
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = Jogo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
}
else {
System.err.println("Não existe esse ficheiro " + path);
return null;
}
}
public void actionPerformed(ActionEvent e)
{
String acao;
acao=e.getActionCommand();
JPanel caixapainel=new JPanel();
if (acao=="J")
{
NJogo.setVisible(false);
Pontuacoes.setVisible(false);
Sair.setVisible(false);
Imagem1.setVisible(true);
Resposta11.setVisible(true);
Resposta12.setVisible(true);
Resposta13.setVisible(true);
Resposta14.setVisible(true);
Pergunta1.setVisible(true);
Ok1.setVisible(true);
}
if (acao=="11")
{
Resposta12.setSelected(false);
Resposta13.setSelected(false);
Resposta14.setSelected(false);
Certo=0;
}
if (acao=="12")
{
Resposta11.setSelected(false);
Resposta13.setSelected(false);
Resposta14.setSelected(false);
Certo=1;
}
if (acao=="13")
{
Resposta11.setSelected(false);
Resposta12.setSelected(false);
Resposta14.setSelected(false);
Certo=0;
}
if (acao=="14")
{
Resposta11.setSelected(false);
Resposta12.setSelected(false);
Resposta13.setSelected(false);
Certo=0;
}
if (acao=="P")
{
}
if (acao=="S")
{
System.exit(0);
}
if (acao=="Pr1")
{
if (Certo==0)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Errada! Tente Novamente");
}
if (Certo==1)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Certa!");
Ok1.setVisible(false);
Imagem1.setVisible(false);
Resposta11.setVisible(false);
Resposta12.setVisible(false);
Resposta13.setVisible(false);
Resposta14.setVisible(false);
Pergunta1.setVisible(false);
Imagem2.setVisible(true);
Resposta21.setVisible(true);
Resposta22.setVisible(true);
Resposta23.setVisible(true);
Resposta24.setVisible(true);
Pergunta2.setVisible(true);
Ok2.setVisible(true);
}
}
if (acao=="21")
{
Resposta22.setSelected(false);
Resposta23.setSelected(false);
Resposta24.setSelected(false);
Certo=0;
}
if (acao=="22")
{
Resposta21.setSelected(false);
Resposta23.setSelected(false);
Resposta24.setSelected(false);
Certo=0;
}
if (acao=="23")
{
Resposta21.setSelected(false);
Resposta22.setSelected(false);
Resposta24.setSelected(false);
Certo=0;
}
if (acao=="24")
{
Resposta21.setSelected(false);
Resposta22.setSelected(false);
Resposta23.setSelected(false);
Certo=1;
}
if (acao=="Pr2")
{
if (Certo==0)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Errada! Tente Novamente");
}
if (Certo==1)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Certa!");
Ok2.setVisible(false);
Imagem2.setVisible(false);
Resposta21.setVisible(false);
Resposta22.setVisible(false);
Resposta23.setVisible(false);
Resposta24.setVisible(false);
Pergunta2.setVisible(false);
Imagem3.setVisible(true);
Resposta31.setVisible(true);
Resposta32.setVisible(true);
Resposta33.setVisible(true);
Resposta34.setVisible(true);
Pergunta3.setVisible(true);
Ok3.setVisible(true);
}
}
if (acao=="31")
{
Resposta32.setSelected(false);
Resposta33.setSelected(false);
Resposta34.setSelected(false);
Certo=0;
}
if (acao=="32")
{
Resposta31.setSelected(false);
Resposta33.setSelected(false);
Resposta34.setSelected(false);
Certo=0;
}
if (acao=="33")
{
Resposta31.setSelected(false);
Resposta32.setSelected(false);
Resposta34.setSelected(false);
Certo=1;
}
if (acao=="34")
{
Resposta31.setSelected(false);
Resposta32.setSelected(false);
Resposta33.setSelected(false);
Certo=0;
}
if (acao=="Pr3")
{
if (Certo==0)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Errada! Tente Novamente");
}
if (Certo==1)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Certa!");
Ok3.setVisible(false);
Imagem3.setVisible(false);
Resposta31.setVisible(false);
Resposta32.setVisible(false);
Resposta33.setVisible(false);
Resposta34.setVisible(false);
Pergunta3.setVisible(false);
Imagem4.setVisible(true);
Resposta41.setVisible(true);
Resposta42.setVisible(true);
Resposta43.setVisible(true);
Resposta44.setVisible(true);
Pergunta4.setVisible(true);
Ok4.setVisible(true);
}
}
if (acao=="41")
{
Resposta42.setSelected(false);
Resposta43.setSelected(false);
Resposta44.setSelected(false);
Certo=0;
}
if (acao=="42")
{
Resposta41.setSelected(false);
Resposta43.setSelected(false);
Resposta44.setSelected(false);
Certo=1;
}
if (acao=="43")
{
Resposta41.setSelected(false);
Resposta42.setSelected(false);
Resposta44.setSelected(false);
Certo=0;
}
if (acao=="44")
{
Resposta41.setSelected(false);
Resposta42.setSelected(false);
Resposta43.setSelected(false);
Certo=0;
}
if (acao=="Pr4")
{
if (Certo==0)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Errada! Tente Novamente");
}
if (Certo==1)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Certa!");
Ok4.setVisible(false);
Imagem4.setVisible(false);
Resposta41.setVisible(false);
Resposta42.setVisible(false);
Resposta43.setVisible(false);
Resposta44.setVisible(false);
Pergunta4.setVisible(false);
Imagem5.setVisible(true);
Resposta51.setVisible(true);
Resposta52.setVisible(true);
Resposta53.setVisible(true);
Resposta54.setVisible(true);
Pergunta5.setVisible(true);
Ok5.setVisible(true);
}
}
if (acao=="51")
{
Resposta52.setSelected(false);
Resposta53.setSelected(false);
Resposta54.setSelected(false);
Certo=0;
}
if (acao=="52")
{
Resposta51.setSelected(false);
Resposta53.setSelected(false);
Resposta54.setSelected(false);
Certo=0;
}
if (acao=="53")
{
Resposta51.setSelected(false);
Resposta52.setSelected(false);
Resposta54.setSelected(false);
Certo=0;
}
if (acao=="54")
{
Resposta51.setSelected(false);
Resposta52.setSelected(false);
Resposta53.setSelected(false);
Certo=1;
}
if (acao=="Pr5")
{
if (Certo==0)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Errada! Tente Novamente");
}
if (Certo==1)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Certa!");
Ok5.setVisible(false);
Imagem5.setVisible(false);
Resposta51.setVisible(false);
Resposta52.setVisible(false);
Resposta53.setVisible(false);
Resposta54.setVisible(false);
Pergunta5.setVisible(false);
Imagem6.setVisible(true);
Resposta61.setVisible(true);
Resposta62.setVisible(true);
Resposta63.setVisible(true);
Resposta64.setVisible(true);
Pergunta6.setVisible(true);
Ok6.setVisible(true);
}
}
if (acao=="61")
{
Resposta62.setSelected(false);
Resposta63.setSelected(false);
Resposta64.setSelected(false);
Certo=1;
}
if (acao=="62")
{
Resposta61.setSelected(false);
Resposta63.setSelected(false);
Resposta64.setSelected(false);
Certo=0;
}
if (acao=="63")
{
Resposta61.setSelected(false);
Resposta62.setSelected(false);
Resposta64.setSelected(false);
Certo=0;
}
if (acao=="64")
{
Resposta61.setSelected(false);
Resposta62.setSelected(false);
Resposta63.setSelected(false);
Certo=0;
}
if (acao=="Pr6")
{
if (Certo==0)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Errada! Tente Novamente");
}
if (Certo==1)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Certa!");
Ok6.setVisible(false);
Imagem6.setVisible(false);
Resposta61.setVisible(false);
Resposta62.setVisible(false);
Resposta63.setVisible(false);
Resposta64.setVisible(false);
Pergunta6.setVisible(false);
Imagem7.setVisible(true);
Resposta71.setVisible(true);
Resposta72.setVisible(true);
Resposta73.setVisible(true);
Resposta74.setVisible(true);
Pergunta7.setVisible(true);
Ok7.setVisible(true);
}
}
if (acao=="71")
{
Resposta72.setSelected(false);
Resposta73.setSelected(false);
Resposta74.setSelected(false);
Certo=0;
}
if (acao=="72")
{
Resposta71.setSelected(false);
Resposta73.setSelected(false);
Resposta74.setSelected(false);
Certo=1;
}
if (acao=="73")
{
Resposta71.setSelected(false);
Resposta72.setSelected(false);
Resposta74.setSelected(false);
Certo=0;
}
if (acao=="74")
{
Resposta71.setSelected(false);
Resposta72.setSelected(false);
Resposta73.setSelected(false);
Certo=0;
}
if (acao=="Pr7")
{
if (Certo==0)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Errada! Tente Novamente");
}
if (Certo==1)
{
JOptionPane.showMessageDialog(caixapainel,"Resposta Certa!");
}
}
}
public static void main(String s[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame f = new JFrame();
f.setSize(800,800);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocation(200,200);
f.setTitle("Jogo");
Jogo painel = new Jogo();
f.getContentPane().add(painel, BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}
[/code]
Eu sei que o código está extenso, mas como sei pouco de Java, é normal.
O meu problema é que (corram o programa e vejam), gostava de melhorar as posições dos componentes mas não consigo.
Vejam o código e mandeme uma alteração do meu código por exemplo no menu inicial em vex de aparcerem em fila horzontalmente, aparecam verticalmente.