Oppure

Loading
27/05/14 13:49
pbe
Sto creando una specie di quiz con Swing e c'è un problema nel programma in questa parte:
private class domanda implements ActionListener {
			@Override
			public void actionPerformed(ActionEvent e) {
				String domande[] = {"Domanda 1","Domanda 2","Domanda 3","Domanda 4","Domanda 5","Domanda 6","Domanda 7","Domanda 8","Domanda 9","Domanda 10",};
				panel3.setVisible(false);
				panel.setVisible(false);
				panel2.setVisible(true);
				i++;
				domanda.setText(""+i);
				butt1.setText("Risposta 1");
				butt2.setText("Risposta 2");
				butt3.setText("Risposta 3");
				butt4.setText("Risposta 4");
				butt1.addActionListener(new MyFrame());
				butt2.addActionListener(new MyFrame());
				butt3.addActionListener(new MyFrame2());
				butt4.addActionListener(new MyFrame());
			    panel2.add(domanda);
			    panel2.add(butt1);
			    panel2.add(butt2);
			    panel2.add(butt3);
			    panel2.add(butt4);
			    frame.add(panel2);
			    frame.show();
			    
			}}

Il compilatore non da errori, solamente che l'array prende in sequenza la domanda 1, 2, 5, 13, e così via...
Invece dovrebbe fare 1, 2, 3, 4, 5,...
Non riesco a capire bene qual è il problema, spero che possiate aiutarmi.

Ecco tutto il listato se potrebbe servire:
import java.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class main extends JFrame{
	JButton start = new JButton("Inizia");
	JPanel panel= new JPanel();
	JPanel panel2= new JPanel();
	JPanel panel3 = new JPanel();
	JButton buttavanti= new JButton();
	JLabel domanda= new JLabel();
	JButton butt1 = new JButton();
	JButton butt2= new JButton();
	JButton butt3= new JButton();
	JButton butt4= new JButton();
	JLabel risposta = new JLabel();
	int i=0;
    public JFrame frame;
	
	public static void main(String[] args) {
		main fin = new main();
	}
		
		public main()
		{
		frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		frame.setTitle("Indovinelli");
	    
	    start.addActionListener(new domanda()); 
	    
	    frame.setSize(500,500);
	    frame.add(panel);
	    panel.add(start);
	    
	    //panel.add(text);
	    frame.show();
		}
		private class domanda implements ActionListener {
			@Override
			public void actionPerformed(ActionEvent e) {
				String domande[] = {"Domanda 1","Domanda 2","Domanda 3","Domanda 4","Domanda 5","Domanda 6","Domanda 7","Domanda 8","Domanda 9","Domanda 10",};
				panel3.setVisible(false);
				panel.setVisible(false);
				panel2.setVisible(true);
				i++;
				domanda.setText(""+i);
				butt1.setText("Risposta 1");
				butt2.setText("Risposta 2");
				butt3.setText("Risposta 3");
				butt4.setText("Risposta 4");
				butt1.addActionListener(new MyFrame());
				butt2.addActionListener(new MyFrame());
				butt3.addActionListener(new MyFrame2());
				butt4.addActionListener(new MyFrame());
			    panel2.add(domanda);
			    panel2.add(butt1);
			    panel2.add(butt2);
			    panel2.add(butt3);
			    panel2.add(butt4);
			    frame.add(panel2);
			    frame.show();
			    
			}}
		private class MyFrame implements ActionListener {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
                panel2.setVisible(false);
                risposta.setText("Risposta sbagliata!!!      :'(");
				buttavanti.setText("Avanti");
				buttavanti.addActionListener(new domanda());
			    panel3.add(risposta);
			    panel3.add(buttavanti);
			    frame.add(panel3);
			    frame.show();
			    panel3.setVisible(true);
			   
			}}
		private class MyFrame2 implements ActionListener {
			  public void actionPerformed(ActionEvent e) {
			    
				    panel2.setVisible(false);
				    risposta.setText("Risposta esatta!!!      :)");
					buttavanti.setText("Avanti");
					
					buttavanti.addActionListener(new domanda());
				    panel3.add(risposta);
				    panel3.add(buttavanti);
				    frame.add(panel3);
				    frame.show();
				    panel3.setVisible(true);
			  }
			}
}


aaa