Qualcuno saprebbe dirmi perchè quando avvio il programma e premo il bottone 'go' viene riprodotto il file audio prima dei comandi scritti in precedenza.
Qua sotto c'è il codice.
Qua sotto c'è il codice.
Codice:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.File;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class Moooseca extends JFrame{
public JPanel pannello = new JPanel();
public JPanel pannello1 = new JPanel();
public JPanel pannello2 = new JPanel();
public JPanel pannello3 = new JPanel();
public JPanel pannello4 = new JPanel();
public JTextField a = new JTextField(45);
public JTextField b = new JTextField(45);
public JLabel ris = new JLabel("");
public JLabel no = new JLabel("sugg");
public JLabel nno = new JLabel("risposta");
public JButton passo = new JButton("passo");
public JButton conf = new JButton("confermo");
public JButton go = new JButton("Inizia gioco");
public JButton aiuto = new JButton("Premi per continuare");
public GridLayout l = new GridLayout(3, 1, 1, 1);
public GridLayout l1 = new GridLayout(2, 2, 1, 1);
public GridLayout l2 = new GridLayout(2, 1, 1, 1);
public GridLayout l3 = new GridLayout(3, 1, 1, 1);
public GridLayout l4 = new GridLayout(1, 1, 1, 1);
public File popo = new File("");
public File canz1 = new File("Estate.wav"); //0
public File canz2 = new File("Veleno7.wav"); //1
public File canz3 = new File("OldTownRoad.wav"); //2
public File canz4 = new File("Another-Brick-in-the-wall.wav"); //3
public File canz5 = new File("DoveQuando.wav"); //4
public Clip sd;
public int cont = 0;
public int cvet = 0;
public int p = 0;
public int controllo = 0;
public int v[] = new int[10];
public String vet[] ={" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "};
public String v1[] ={"estate addosso", "veleno7", "oldtownroad", "another brick in the wall", "dove e quando", " ", " ", " ", " ", " "};
public Moooseca(){
this.setTitle("Moooseca");
this.setBounds(200, 200, 400, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pannello.setLayout(l);
pannello2.setLayout(l1);
pannello1.setLayout(l2);
pannello3.setLayout(l3);
pannello4.setLayout(l4);
pannello.add(pannello3);
pannello3.add(ris);
pannello3.add(no);
pannello3.add(nno);
pannello.add(pannello1);
pannello1.add(a);
pannello1.add(b);
pannello.add(pannello2);
pannello2.add(conf);
pannello2.add(passo);
pannello2.add(go);
pannello2.add(aiuto);
passo.setVisible(false);
conf.setVisible(false);
aiuto.setVisible(false);
a.setEditable(false);
b.setEditable(false);
this.setContentPane(pannello);
this.setVisible(true);
go.addMouseListener(new Ascoltatore());
conf.addMouseListener(new Ascoltatore2());
}
public static void main(String arg[]){
Moooseca ogg = new Moooseca();
}
class Ascoltatore extends MouseAdapter{
public void mouseClicked(MouseEvent oggettoEvento){
int inutile = 0;
if(inutile == 0){
ris.setText("N:"+cvet+" DOMANDE "+"1:"+vet[0]+" 2:"+vet[1]+" 3:"+vet[2]+" 4:"+vet[3]+" 5:"+vet[4]+" 6:"+vet[5]+" 7:"+vet[6]+" 8:"+vet[7]+" 9:"+vet[8]+" 10:");
passo.setVisible(true);
conf.setVisible(true);
aiuto.setVisible(true);
a.setEditable(true);
b.setEditable(true);
inutile = 1;
}
if(inutile == 1){
if(controllo == 0){
cont = (int)(Math.random()*5);
v[cvet] = cont;
p = cvet;
cvet++;
controllo++;
switch(cont){
case 0:
popo = canz1;
break;
case 1:
popo = canz2;
break;
case 2:
popo = canz3;
break;
case 3:
popo = canz4;
break;
case 4:
popo = canz5;
break;
default:
JOptionPane.showMessageDialog(null, "Errore!");
}
try{
sd = AudioSystem.getClip();
sd.open(AudioSystem.getAudioInputStream(popo));
sd.start();
Thread.sleep(sd.getMicrosecondLength()/ 1000);
sd.close();
} catch (Exception e){}
}else{
JOptionPane.showMessageDialog(null, "Questo pulsante e' disabilitato per tutta la durata del gioco");
}
}
}
}
class Ascoltatore2 extends MouseAdapter{
public void mouseClicked(MouseEvent oggettoEvento){
if(oggettoEvento.getSource() == conf){
String g;
int n=0;
g = a.getText();
if(g == v1[p]){
vet[p] = "V";
ris.setText("N:"+cvet+" DOMANDE "+"1:"+vet[0]+"2:"+vet[1]+"3:"+vet[2]+"4:"+vet[3]+"5:"+vet[4]+"6:"+vet[5]+"7:"+vet[6]+"8:"+vet[7]+"9:"+vet[8]+"10:"+vet[9]);
}else{
vet[p] = "F";
ris.setText("N:"+cvet+" DOMANDE "+"1:"+vet[0]+"2:"+vet[1]+"3:"+vet[2]+"4:"+vet[3]+"5:"+vet[4]+"6:"+vet[5]+"7:"+vet[6]+"8:"+vet[7]+"9:"+vet[8]+"10:"+vet[9]);
}
int f = 0;
if(cvet<10){
cont = (int)(Math.random()*5);
f = cont;
for(int i=0;i<cvet;i++){
if(f == v[i]){
cont = (int)(Math.random()*5);
f = cont;
i = -1;
}
}
v[cvet] = cont;
p = cvet;
cvet++;
}
switch(cont){
case 0:
popo = canz1;
break;
case 1:
popo = canz2;
break;
case 2:
popo = canz3;
break;
case 3:
popo = canz4;
break;
case 4:
popo = canz5;
break;
default:
JOptionPane.showMessageDialog(null, "Errore!");
}
try{
sd = AudioSystem.getClip();
sd.open(AudioSystem.getAudioInputStream(popo));
sd.start();
Thread.sleep(sd.getMicrosecondLength()/ 1000);
sd.close();
} catch (Exception e){}