Manipulation des interfaces en J2ME [Résolu]

Messages postés
12
Date d'inscription
mardi 2 mars 2010
Dernière intervention
29 mars 2010
- 16 mars 2010 à 10:49 - Dernière réponse :
Messages postés
12
Date d'inscription
mardi 2 mars 2010
Dernière intervention
29 mars 2010
- 17 mars 2010 à 12:21
Salut pour tout le monde , alors dans le cadre d'un exercice j'ai besoin de préparer des interfaces sur un mobile à l'aide de la frame work J2ME alors j'arrive à réaliser quelque interface mais le problème est la méthode de navigation entre ces interfaces , alors voilà mon code qu'est compiler sans erreur mais à la phase d'exécution il se bloque juste après l'affichage de la premier forme exactement quand je touche une commande :( envoyer ou bien exit), alors SVP aider moi à résoudre se problème et merci d'avance :


import javax.microedition.lcdui.*;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.MIDlet;


public class teste1 extends MIDlet implements CommandListener
{
protected Display display;

private Form form1 = new Form(" DATA SOFT ");
private Form form2;
public TextField Pseudo = new TextField("LOGIN ", null, 8, TextField.ANY);
public TextField Password = new TextField("Mot de Passe ", null, 8, TextField.PASSWORD);

private Command exitCommand = new Command("Exit", Command.EXIT, 0);
private Command Envoyer = new Command("Envoyer", Command.SCREEN, 1);

protected void startApp()
{
display = Display.getDisplay(this);

form1.append(" AUTENTIFICATION ");
form1.append(Pseudo);
form1.append(Password);
form1.addCommand(exitCommand);
form1.addCommand(Envoyer);
form1.setCommandListener(this);
display.setCurrent(form1);
}

protected void pauseApp()
{
}

protected void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable s)
{
teste22 tt = new teste22();
if (c == exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
if (c == Envoyer)
{
tt.afficher(Pseudo);
}
}
}
class teste22 extends MIDlet implements CommandListener
{
protected Display display;

private Form form2 = new Form(" ACCEUILLE ");
//private String res = Pseudo.getString();

private Command exitCommand = new Command("Exit", Command.EXIT, 0);
private Command Send = new Command("Envoyer", Command.SCREEN, 1);

//private Display display = Display.getDisplay(this);
//protected teste22() { }

protected void startApp()
{
display = Display.getDisplay(this);
}
public void afficher(TextField don)
{
String rep = don.getString();
form2.append(rep);
form2.addCommand(exitCommand);
form2.addCommand(Send);
form2.setCommandListener(this);
display.setCurrent(form2);

}

protected void pauseApp()
{
}

protected void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable s)
{ }

}
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
1
Date d'inscription
samedi 3 juin 2006
Dernière intervention
17 mars 2010
- 17 mars 2010 à 10:06
3
Merci
Bonjour,

tout d'abord, tout programme J2ME hérite de MIDLET qui doit implémenter 3 méthodes, qui seront controlées par l'AMS:

* startApp() est effectué au démarrage ou redémarrage.
* paused() utilisée pour empecher le blocage de ressoruce par l'applet
* destroyApp qui sert de fin de vie "naturelle" à l'applet
et dans ton programme on trouve deux Midlets ce qui n'est pas juste.
voici la version qui marchera:

import javax.microedition.lcdui.*;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;

public class Midlet extends MIDlet implements CommandListener {

protected Display display;
private Form form1 = new Form(" DATA SOFT ");
public TextField Pseudo = new TextField("LOGIN ", null, 8, TextField.ANY);
public TextField Password = new TextField("Mot de Passe ", null, 8, TextField.PASSWORD);
private Command exitCommand2 = new Command("Exit", Command.EXIT, 0);
private Command Envoyer = new Command("Envoyer", Command.SCREEN, 1);
private Form form2 = new Form(" ACCEUILLE ");
//private String res = Pseudo.getString();
private Command exitCommand = new Command("Exit", Command.EXIT, 0);
private Command Send = new Command("Envoyer", Command.SCREEN, 1);

protected void startApp() {
display = Display.getDisplay(this);

form1.append(" AUTENTIFICATION ");
form1.append(Pseudo);
form1.append(Password);
form1.addCommand(exitCommand);
form1.addCommand(Envoyer);
form1.setCommandListener(this);
display.setCurrent(form1);
}

protected void pauseApp() {
}

protected void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable s) {


if (c == exitCommand) {
destroyApp(false);
notifyDestroyed();
}
if (c == Envoyer) {
afficher(Pseudo);
}
if (c == Send) {
// par exemple
afficher(Password);
}
if (c == exitCommand2) {
destroyApp(false);
notifyDestroyed();
}
}

public void afficher(TextField don) {
String rep = don.getString();
form2.append(rep);
form2.addCommand(exitCommand2);
form2.addCommand(Send);
form2.setCommandListener(this);
display.setCurrent(form2);

}
}


Jamais 2 midlet ds un programme J2ME

Merci cs_princesse1 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_princesse1
Messages postés
12
Date d'inscription
mardi 2 mars 2010
Dernière intervention
29 mars 2010
- 17 mars 2010 à 12:21
0
Merci
merci bien la princesse1 et bon courage, mais chui en cours d'apprendre la J2ME c'est pour c'est là que je fait cette erreur ,merci bien .
Commenter la réponse de cs_heros12

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.