Bonjour,
Je suis en train de faire une mini application dans le genre tip'tap, c'est à dire l'utilisateur doit taper un mot au clavier en un certain temps et si il réussit ca lui donne des points, j'ai déja fait la barre d'avancement et le changement de mot à la fin du temps pour ce mot mais maintenant, il faudrait que des que l'utilisateur presse sur la touche enter, il compare ce qu'il a écrit avec le mot.
Mais je n'arrive pas à créer les keylisteners, keypressed de facon à ce que ca marche; C'est certainement à cause du fait que j'employe des timers...
Voici le code ou j'appelle la fonction avec le timer :
voici le code de la classe tip :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 tip tip = new tip(5500,words,ProgressBar,Label2); tip.start();
et voici le code de la classe qui fait avancer la barre de temps (je ne pense qu'on doive y changer qqch mais je la mets à tout hasard):
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 package main; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; import javax.swing.JLabel; import javax.swing.JProgressBar; public class tip extends Timer implements ActionListener{ private short i = 0; private short total; private String[] words; private JProgressBar Bar; private JLabel Label; private short index; methods objet = new methods(); public tip(int delay,String[] words,JProgressBar Bar,JLabel Label){ super(delay, null); this.Bar = Bar; this.Label = Label; this.words = words; this.setInitialDelay(0); total = (short)words.length; addActionListener(this); } public void actionPerformed(ActionEvent e) { index = (short)(Math.random()*total); Label.setText(words[index]); Progress avance = new Progress(100,Bar); avance.start(); i++; if(i >= total)this.stop(); } }
Je peut tout à fait créer de nouvelles classes ou apporter des modifications à celle ci et je n'ai aucune contrainte puisque je fais ca pour mon loisir
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 package main; import javax.swing.Timer; import javax.swing.JProgressBar; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Progress extends Timer implements ActionListener{ private JProgressBar ProgressBar; private int progress = 0; public Progress(int delay, JProgressBar Bar){ super(delay, null); this.ProgressBar = Bar; addActionListener(this); } public void actionPerformed(ActionEvent e) { progress = progress + 2; ProgressBar.setValue(progress); if(progress >= 100)this.stop(); } }
si vous avez besoin d'autres infos, demandez le
En esperant que vous trouverez le problème et que par la, j'apprendrai quelque chos, je vous souhaite une bonne nuit ^^
[ Sujet déplacé depuis le forum java par Viena ]
Les Règles du Forum
Partager