[débutant]Affiché un message dans l'émulateur.
Salut,
Je n'arrive pas à voir mon message sur l'émulateur. J'ai installé le JDK 5.0 et le J2ME
Toolkit 2.1 j'ai fais tout ce qui faut faire avant (créer le projet, le fichier.java)
la compilation se fait avec succes.
Quand je fais run, l'emulateur s'affiche avec "Select one to launch:" tout juste en
haut et plus bas le nom de mon projet (hello). Quand je clic sur select (entre les
flêches) l'émulateur se ferme (sans que mon message s'affiche) et des écritures défilent sur le KToolkit.
voici mon code:
Code:
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
|
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Hello extends MIDlet
{
private Display d;
private Form f;
private StringItem si;
// constructeur
public Hello()
{
d = Display.getDisplay(this);
f = new Form("Mon premier midlet");
si = new StringItem(null,"Salut Franck");
f.append(si);
}
// à executer lors du demarrage
public void startApp()
{
d.setCurrent(f);
}
// à executer lors de la mise en pause
public void pauseApp()
{
}
// à exécuter lors de la fermeture
public void destroyApp(boolean b)
{
}
} |
au cas où vous aurez besoin des écritures qui défilent:
Citation:
Project "hello" loaded
Project settings saved
Building "hello"
Wrote C:\WTK21\apps\hello\bin\hello.jar
Wrote C:\WTK21\apps\hello\bin\hello.jad
Build complete
Project settings saved
Building "hello"
Build complete
Running with storage root DefaultColorPhone
Method............: 100d2980 'com/sun/midp/midlet/MIDletState.createMIDlet (static)'
Stack Chunk.......: e57e28
Frame Pointer.....: e57e84
Current IP........: 10126161 = 10126153 + offset 14
Previous Frame....: e57e48
Previous IP.......: 1011e41f (offset 22)
Frame size........: 8 (1 arguments, 7 local variables)
Argument[0].......: e598a0
Local[1]..........: 0
Local[2]..........: e57e48
Local[3]..........: e68818
Local[4]..........: e57e5c
Local[5]..........: 100dca28
Local[6]..........: e57e28
Local[7]..........: 1015c1d8
Operand[1]........: e598a0
Method............: 100cd17c 'com/sun/midp/midlet/Selector.run (virtual)'
Stack Chunk.......: e57e28
Frame Pointer.....: e57e48
Current IP........: 1011e41f = 1011e409 + offset 22
Previous Frame....: 0
Previous IP.......: 1
Frame size........: 6 (1 arguments, 5 local variables)
Argument[0].......: e59b44
Local[1]..........: e68a28
Local[2]..........: e598a0
Local[3]..........: 0
Local[4]..........: 0
Local[5]..........: 0
Operand[1]........: e68a28
VM status:
Instruction pointer.: 10126161 (offset within invoking method: 14)
Next instruction....: 0x4c
Frame pointer.......: e57e84
Local pointer.......: e57e64
Stack size..........: 128; sp: e57e9c; ranges: e57e30-e58030;
Contents of the current stack frame:
e57e64: e598a0 (lp)
ALERT: java/lang/ClassFormatError: Bad version information.
e57e68: 0
e57e6c: e57e48
e57e70: e68818
e57e74: e57e5c
e57e78: 100dca28
e57e7c: e57e28
e57e80: 1015c1d8
e57e84: e57e48 (fp)
e57e88: 1011e41f
e57e8c: e57e60
e57e90: 100d2980
e57e94: e57e28
e57e98: 0 (end of frame)
e57e9c: e598a0 (sp)
Execution stack contains 112 items:
e59b44
e68a28
e598a0
0
0
0
0
1
e57e2c
100cd17c
e57e28
0
e68a28
e598a0
0
e57e48
e68818
e57e5c
100dca28
e57e28
1015c1d8
e57e48
1011e41f
e57e60
100d2980
e57e28
0
e598a0
Execution completed.
436946 bytecodes executed
22 thread switches
486 classes in the system (including system classes)
2454 dynamic objects allocated (72756 bytes)
1 garbage collections (0 bytes collected)
Execution completed.
436946 bytecodes executed
22 thread switches
486 classes in the system (including system classes)
2454 dynamic objects allocated (72756 bytes)
1 garbage collections (0 bytes collected)
C'est quoi le problème? Merci de m'aider.
probleme hello world J2ME
Salut je ne voyais pas de probleme dans ton code ,hormis le fait que le travail avec l ecran(getDisplay) n'est assure selon la norme que dans le startapp et non dans le constructeur , alors je l'ai essayé sur ma wireless toolkit 1.0.4_02 (avec jdk 1.4.2) et il n y a aucun probleme. Je pense que ta toolkit est mal configuree.
tu travailles avec jdk 1.5 (je pense qu'il est indiqué quelque part qu'elle a ete testée avec jdk 1.4.2 ) et l'erreur que tu obtiens est une Erreur de mauvais format de fichier class qui n'est pas catchée (d'où les affichages).
( le toolkit doit avoir des bugs avec jdk 1.5)
Donc Retourne un petit temps à la jdk 1.4 (il faudra attendre encore un peu avant que beaucoup de bugs soient enlevés)
Bonus:
Regarde à ce lien il y a plein de trucs et astuces pour midlets + des exemples :
http://developers.sun.com/techtopics/mobility/midp/reference/techart/