Bonjour,
Je suis en train de faire un petit jeu pour portable via l'API J2ME de Sun.
Le jeu en lui même marche bien.
Maintenant, j'essaie de rajouter quelques fonctionnalités à son interface comme un bouton quitter pour quitter le jeu .
J'ai donc fait ça :
Ici, graphique est une classe héritant de la classe Canvas et qui s'occupe de gérer le jeu.
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 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Main extends MIDlet implements CommandListener { private Display display; private Graphique g; private Command exitCommand; public Main() { g = new Graphique(); exitCommand = new Command("Quitter", Command.EXIT, 1); g.addCommand(exitCommand); display = Display.getDisplay(this); } protected void destroyApp(boolean unconditional) { g.getTimer().cancel(); } protected void startApp() { display.setCurrent(g); } protected void pauseApp(){ } public void commandAction(Command c, Displayable d) { if(c == exitCommand) { destroyApp(false); notifyDestroyed(); } } }
La classe Main est la classe principale du programme.
Donc, ici je place une simple commande sur le Canvas (ce qui est possible puisque Canvas hérite de Displayable) et je place un CommandListener sur cette commande qui permet en cas d'appui sur ce bouton d'arrêter l'application.
Malheureusemet, lorsque j'appuie sur ce bouton en faisant tourner le programme il ne se passe rien du tout. J'ai regardé sur pas mal d'autres programmes notamment ceux fournis comme exemple dans le J2ME Wireless Toolkit et ils procèdent de cette façon là j'ai bien l'impression.
Quelqu'un saurait d'où cela peut venir ?
merci d'avance de votre aide.
Sylvain
Partager