Un genre de Refresh en J2ME

Un genre de Refresh en J2ME - Java - Programmation

Marsh Posté le 14-05-2007 à 11:43:12    

Bonjour le monde,
 
Je suis en train de developper une petite appli en J2ME (le principe de la gestion de vos contact actuel: un repertoire quoi ^^)
 
- Sur le meme principe que mon telephone, je rentre dans l'appli j'ai la liste de mes contacts l'un en dessous de l'autre.
- Dans le menu, je fais "ajouter" et là je saisi un nouveau contact.
- une fois saisi, je fait retour et je reviens sur ma liste de mes contact
 
Le probleme est que ma liste ne se met pas a jour ! Il faut que je quitte et relance l'appli pour voir mon nouveau contact s'afficher.
 
je me demande donc comment il serait possible de faire un "refresh" de l'ecran à la sortie (retour) après la saisie d'un contact.
 
Merci ;)
 

Code :
  1. import javax.microedition.lcdui.Alert;
  2. import javax.microedition.lcdui.AlertType;
  3. import javax.microedition.lcdui.Command;
  4. import javax.microedition.lcdui.CommandListener;
  5. import javax.microedition.lcdui.Display;
  6. import javax.microedition.lcdui.Displayable;
  7. import javax.microedition.lcdui.Form;
  8. import javax.microedition.lcdui.Image;
  9. import javax.microedition.lcdui.TextField;
  10. import javax.microedition.lcdui.Ticker;
  11. import javax.microedition.midlet.MIDlet;
  12. import javax.microedition.midlet.MIDletStateChangeException;
  13. public class Repertoire extends MIDlet implements CommandListener {
  14. Form formp;
  15. Display display;
  16. Command Quitter, Ajouter, Supprimer;
  17. TextField Rechercher;
  18. AgendaDB db;
  19. Personne[] personne;
  20. public Repertoire() {
  21.  display = Display.getDisplay(this);
  22.  formp   = new Form("Agenda en J2ME" );
  23.  Quitter = new Command("Quitter",  Command.EXIT, 1);
  24.  Ajouter = new Command("Ajouter", Command.OK,   2);
  25.  Supprimer = new Command("Supprimer Tout !", Command.OK,   2);
  26.  Rechercher = new TextField("Rechercher", "", 10, TextField.ANY);
  27.  db = new AgendaDB();
  28. }
  29. protected void startApp() throws MIDletStateChangeException {
  30.  formp.addCommand(Quitter);
  31.  formp.addCommand(Ajouter);
  32.  formp.addCommand(Supprimer);
  33.  formp.append(Rechercher);
  34.  formp.setCommandListener(this);
  35.  personne = db.recupererPersonne();
  36.  if(personne.length==0) formp.append("aucun contact" );
  37.  else
  38.   for (int i = 0 ; i < personne.length ; i++) {
  39.   formp.append(personne.getNom()+" "+personne[i].getPrenom()+"\n"+personne[i].getTelephone()+"\n" );
  40.      }
  41.  display.setCurrent(formp);
  42. }
  43. protected void pauseApp() {
  44. }
  45. protected void destroyApp(boolean arg0) {
  46.  formp = null;
  47. }
  48. public void commandAction(Command c, Displayable d) {
  49.  if (c == Quitter) {
  50.   destroyApp(true);
  51.   notifyDestroyed();
  52.  }
  53.  if (c == Ajouter)
  54.   {
  55.   AjouterPersonne ajoute;
  56.   ajoute = new AjouterPersonne(this);
  57.   display.setCurrent(ajoute);
  58.   }
  59.  if (c == Supprimer)
  60.   {
  61.   db.suppAgenda();
  62.   Alert supp = new Alert("Delete" );
  63.   supp.setString("L'integralité de votre agenda a été supprimé !" );
  64.   supp.setTimeout(1000);
  65.   display.setCurrent(supp);
  66.   }
  67. }
  68. }


 
[i]AJOUTE
 

Code :
  1. import javax.microedition.lcdui.Alert;
  2. import javax.microedition.lcdui.Command;
  3. import javax.microedition.lcdui.CommandListener;
  4. import javax.microedition.lcdui.Displayable;
  5. import javax.microedition.lcdui.Form;
  6. import javax.microedition.lcdui.TextBox;
  7. import javax.microedition.lcdui.TextField;
  8. public class AjouterPersonne extends Form implements CommandListener {
  9. TextField Nom, Prenom, Telephone;
  10. Repertoire midlet;
  11. Command Back, Insert;
  12. public AjouterPersonne(Repertoire midlet) {
  13.  super("" );
  14.  this.midlet = midlet;
  15.  Nom   = new TextField("Nom: ",     "", 30, TextField.ANY);
  16.  Telephone   = new TextField("Telephone: ", "", 15, TextField.PHONENUMBER);
  17.  Prenom  = new TextField("Prenom: ",    "", 30, TextField.EMAILADDR);
  18.  Back   = new Command("Retour",     Command.BACK, 1);
  19.  Insert = new Command("Inserer",    Command.OK,   2);
  20.  this.addCommand(Back);
  21.  this.addCommand(Insert);
  22.  this.append(Nom);
  23.  this.append(Prenom);
  24.  this.append(Telephone);
  25.  this.setCommandListener(this);
  26. }
  27. public void commandAction(Command c, Displayable d) {
  28.  if ( c == Back) {
  29.   this.midlet.display.setCurrent(this.midlet.formp);
  30.  }
  31.  if (c == Insert) {
  32.   Personne personne = new Personne();
  33.   personne.setNom(Nom.getString());
  34.   personne.setTelephone(Telephone.getString());
  35.   personne.setPrenom(Prenom.getString());
  36.   if (Nom.getString().equals("" ) || Telephone.getString().equals("" ))
  37.     {
  38.     Alert alerte2 = new Alert("Erreur" );
  39.     alerte2.setString("Veuillez saisir un nom et un numero !" );
  40.     alerte2.setTimeout(2000);
  41.     this.midlet.display.setCurrent(alerte2, this);
  42.     }
  43.   else
  44.    {
  45.    this.midlet.db.insererPersonne(personne);
  46.    Alert alerte = new Alert("Succes" );
  47.    alerte.setString("Votre contact a bien été ajouté !" );
  48.    alerte.setTimeout(2000);
  49.    this.midlet.formp.append(Nom.getString() +" "+Prenom.getString()+"\n"+Telephone.getString()+"\n" );
  50.    Nom.setString("" );
  51.    Prenom.setString("" );
  52.    Telephone.setString("" );
  53.    this.midlet.display.setCurrent(alerte, this);
  54.    }
  55.  }
  56. }
  57. }

Reply

Marsh Posté le 14-05-2007 à 11:43:12   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed