Bonsoir.

Je programme (pour une activité avec des enfants) un programme qui lorsqu'on appuie sur une touche précise joue un son.
(NDLR : je programme sur Eclispe)

Voici le code :
https://gist.github.com/stk3702/99b5...c471f4c7a8acf6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.swing.ImageIcon;
import java.applet.Applet;
import java.applet.AudioClip;
import java.net.URL;
import java.io.File;
 
class Buzzer extends Thread
{
    private URL url;
    private AudioClip sound;
    private File f;
 
    public Buzzer()
    {
        f=new File("f.wav");
        if(f.exists()) {
        	System.out.println("pouet");
        }
	    try
	    {
	        url = f.toURI().toURL();
	        sound = Applet.newAudioClip(url);
	        System.out.println("sound");
	      } catch (Exception e) {
	        System.out.println(e);
	      }
    }
 
    public void jouer()
    {
    	System.out.println("in");
        sound.play();
        System.out.println("out");
    }
}
 
class FenetreQuizz extends JFrame implements KeyListener{
	JLabel label;
	JPanel panel;
	JDialog dg;
	Buzzer bz;
	String ficelle;
	public FenetreQuizz () {
		super();
		ficelle="";
		bz=new Buzzer();
		setTitle("Quizz");
		setSize(200,200);
		setExtendedState(JFrame.MAXIMIZED_BOTH);
		panel=new JPanel();
		label=new JLabel();
		panel.add(label);
		setContentPane(panel);
		setVisible(true);
		addKeyListener(this);
	}
 
	@Override
	public void keyPressed(KeyEvent e) {
		if(e.getKeyCode()==KeyEvent.VK_A) {
			ficelle=ficelle+"1";
			bz.jouer();
		}
	}
	@Override
	public void keyTyped(KeyEvent e) {}
 
	@Override
	public void keyReleased(KeyEvent e) {}
}
 
public class Quizz{
	public Quizz() {}
 
	public static void main(String [] args) {
		FenetreQuizz fq=new FenetreQuizz();
		fq.setVisible(true);
	}
}
C'est censé jouer un son quand on appuie sur 'A' mais ça ne fonctionne pas et pourtant tout a l'air correct (détection du fichier, entrée et sortie des appels de jouer(), ... ).

Auriez-vous une idée s'il vous plaît ?