Larback - Retornando conhecimento

Sempre pode piorar, use a imaginação.

Um pequeno jogo de perguntas e respostas com swing

Neste exemplo trabalharemos a utilização de matrizes bidimensionais e componentes swing. Qualquer dúvida, utilizem nosso grupo do facebook (http://www.facebook.com/groups/novoid)
package quiz;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JTextField;

public class Main extends JFrame implements ActionListener{
	String [][] perguntas = new String[3][6];
	JRadioButton [] jrPerguntas = new JRadioButton[4];
	JLabel jlPergunta = new JLabel("");
	JLabel jlPontuacao = new JLabel("Pontuao: 0");
	int posAtual = 0;
	int pontos = 0;
	JButton jbResponder = new JButton("Responder");
	ButtonGroup bgOp = new ButtonGroup();
	public Main() {
		super("Quizz");
		setLayout(new GridLayout(7,1));
		carregaPerguntas();
		for (int id=0;id<4;id++){
			jrPerguntas[id] = new JRadioButton();
			bgOp.add(jrPerguntas[id]);
		}
		montaTela();
		jlPontuacao.setHorizontalAlignment(JTextField.RIGHT);
		add(jlPergunta);
		add(jrPerguntas[0]);
		add(jrPerguntas[1]);
		add(jrPerguntas[2]);
		add(jrPerguntas[3]);
		add(jlPontuacao);
		add(jbResponder);
		jbResponder.addActionListener(this);
		pack();
		setLocationRelativeTo(null);
		setVisible(true);
	}
	public void carregaPerguntas(){
		perguntas[0][0] = "Qual a cor do cavalo branco de napoleo?";
		perguntas[0][1] = "Branco";
		perguntas[0][2] = "Azul";
		perguntas[0][3] = "Bonina";
		perguntas[0][4] = "Roxo";
		perguntas[0][5] = "1";
		
		perguntas[1][0] = "Batman ou Superman?";
		perguntas[1][1] = "Superman";
		perguntas[1][2] = "Batman";
		perguntas[1][3] = "Aquaman";
		perguntas[1][4] = "Cresce menino";
		perguntas[1][5] = "2";
		
		perguntas[2][0] = "Java ou PHP?";
		perguntas[2][1] = "Vb.net";
		perguntas[2][2] = "PHP";
		perguntas[2][3] = "Java";
		perguntas[2][4] = "Algoritmo";
		perguntas[2][5] = "3";
	}
	public void montaTela() {
		jlPergunta.setText(perguntas[posAtual][0]);
		for (int id=0;id<4;id++){
			jrPerguntas[id].setText(perguntas[posAtual][id+1]);
		}
	}
	public static void main(String [] args){
		new Main();
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		int respostaCerta = Integer.parseInt(perguntas[posAtual][5]);
		
		if (jrPerguntas[respostaCerta-1].isSelected()){
			pontos++;
		} else{
			pontos--;
		}
		jlPontuacao.setText("Pontuao: " + pontos);
		if (posAtual<2)
			posAtual++;
		else
			JOptionPane.showMessageDialog(this, "Game Over");
		montaTela();
		
		
	}

}