27/05/14 13:49
pbe
Sto creando una specie di quiz con Swing e c'è un problema nel programma in questa parte:
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:
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