IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java ME Discussion :

Problème de gestion d'interfaces (écrans, formulaire) entre classes


Sujet :

Java ME

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut Problème de gestion d'interfaces (écrans, formulaire) entre classes
    Bonjour je suis pour l'instant du coté des débutant en j2me et j'ai un énorme souci que je n'arrive pas à résoudre (pourtant je suis persuadé que c'est simple ).

    En effet j'ai un MIDLet principal smssimu.java qui possède un "écran" ainsi qu'un formulaire auquel j'ajoute à chaque fois qu'un sms arrive le contenu de ce sms gràce à une fonction show().
    L'envoi se fait à partir d'une autre classe qui se trouve dans le fichier sendTextMessage.java qui déclenche uniquement un thread de construction/émission du message et génère éventuellement des Exceptions diverses qui m'interessent !
    Le problème est que je voudrais pouvoir afficher ces exceptions que je recupere dans le Wireless Toolkit par un System.out.println(exception.toString() dans le formulaire du MIDLet smssimu gràce à ma fonction show() mais je n'y arrive pas.
    Voici les parties du code qui concerne ce problème :

    smssimu.java

    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
     
    public class smssimu extends MIDlet  implements CommandListener , MessageListener {
     
      private Display display;
      private Form form;
     
    public void show (String showMessage) {
        System.out.println (showMessage);
        if (form != null) {
          form.append(showMessage);
        }
      }
     
    public void startApp() {
    form = new Form("sms");
    display = Display.getDisplay(this);
    display.setCurrent(form);
    }
     
    //par la suite je déclenche l'appel de différentes méthodes dans sendTextMessage.java
    }
    sendTextMessage.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class sendTextMessage implements Runnable {
     
    //déclenchement d'un thread
     
    public void run() {
    try {
    //envoi message
    } catch (Exception e) {
      System.out.println(e.toString());
      //Section Probleme : ici je voudrais pouvoir afficher dans form de                     
      //smssimu.java l'exception générée
      }
    Merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Eh bien tu dis "//par la suite je déclenche l'appel de différentes méthodes dans sendTextMessage.java".
    Je suppose donc que tu crées une instance de sendTextMessage. Il faut que tu lui donnes la connaissance de ton Form, par exemple en lui passant en paramètre dans le constructeur, ce qui te permettrait de faire un leForm.append(...) ou si tu préfères centraliser les accès à ce form lui donner une connaissance de ton objet smssimu (en utilisant le mot clé this) pour qu'il appelle ta méthode show.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut
    Lol je suis bien bête, en effet ça à l'air d'être ok, je passerais en résolu après qques tests... Merci !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut
    Bon tout marche niquel je voudrais maintenant savoir si il est possible de récupérer sous forme de texte dans un formulaire par exemple et non dans la console d'erreur du Wireless Toolkit les détails du message d'erreur générés par la fonction exception.printStackTrace() ?

  5. #5
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Par exemple
    [CODE]
    String stackTrace;
    Exception e;
    ...
    ByteArrayOutputStream arrayStream = new ByteArrayOutputStream();
    e.printStackTrace(new PrintStream(arrayStream));
    stackTrace = arrayStream.toString();
    [CODE]
    devrait répondre à ta question ...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut
    Non ca ne marche pas mais selon la doc. sur cette fonction je crains que ca ne soit possible de toute manière... Voici mon code et l'erreur de compilation générée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ...
     
    String stackTrace
     
    ...
    catch (Exception e) {
    		ByteArrayOutputStream arrayStream = new ByteArrayOutputStream();
    		e.printStackTrace(new PrintStream(arrayStream)); // !
    		stackTrace = arrayStream.toString();
    		form.append(stackTrace);
    }
    Sur le Wireless Toolkit après compilation :

    C:\WTK22\apps\smssimu\src\sendTextMessage.java:41: printStackTrace() in java.lang.Throwable cannot be applied to (java.io.PrintStream)
    e.printStackTrace(new PrintStream(arrayStream));

  7. #7
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Effectivement, désolé je n'avais pas vérifié sur J2ME .... Ca ne semble pas possible malheureusement :-(

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [IP-2007] Problème de gestion de version de formulaire
    Par angeld dans le forum InfoPath
    Réponses: 2
    Dernier message: 30/04/2014, 14h53
  2. problème "Gestion de photos par formulaire"
    Par mcharmat dans le forum IHM
    Réponses: 10
    Dernier message: 13/05/2008, 15h47
  3. Réponses: 1
    Dernier message: 14/12/2007, 10h28
  4. Réponses: 50
    Dernier message: 27/03/2007, 08h31
  5. [TFrame] Problème de gestion du OnMouseDown avec une Frame
    Par xherault dans le forum Composants VCL
    Réponses: 5
    Dernier message: 23/05/2003, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo