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

W4 Express Java Discussion :

Utiliser une classe java externe


Sujet :

W4 Express Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Utiliser une classe java externe
    J'en profite pour re-poser une question,
    j'ai parcouru la plupart des thread de ce forum, mais j'ai toujours du mal à voir comment faire apparaitre dans un champ le résultat d'une méthode d'une classe java externe.
    j'ai bien ajouté la classe au "classpath" (onglet "comportements Java"),
    ensuite j'ai crée un champ dans lequel je voudrais faire apparaitre le résultat (d'ailleurs à ce niveau là, est-il indispensable de définir un nom d'attribut Java? car après avoir cliqué sur "Générer" et "Appliquer", une fois de retour sur cette fenêtre la valeur du champ à disparu...).
    Et enfin j'ai crée une action de type "Formulaire spécifique _userInput", par laquelle j'aimerais lancer la méthode en question. Mais je ne vois pas comment lier le bouton "Valider" automatiquement crée à ma méthode...
    La seul chose que j'ai réussi à faire c'est de rentrer des valeurs en dur directement dans la classe d'interface générée, dans ce cas, je ne peux qu'influer sur le résultat des setters et getters?
    En bref, j'ai ces éléments mais je ne comprends pas bien comment ils s'agencent...

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 105
    Points : 126
    Points
    126
    Par défaut
    Bonjour,

    Je ne sais pas si j'ai bien la question dans tous ses détails (et comme on dit "le diable est dans les détails") mais au problème "comment faire apparaitre dans un champ le résultat d'une méthode d'une classe java externe", je réponds qu'il faut intégrer la classe externe dans le classpath, ajouter le champ en question dans la classe avec la marque local, générer la classe d'interface et surcharger le getter du champ pour appeler le code de la classe externe.
    J'ai bon ?

    A+

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par romone1
    Et enfin j'ai crée une action de type "Formulaire spécifique _userInput", par laquelle j'aimerais lancer la méthode en question.
    Mais je ne vois pas comment lier le bouton "Valider" automatiquement crée à ma méthode...
    Pour faire cela, il suffit de générer le comportement spécifique de l'action user input. La méthode userInputDemand est appelée lorsque l'utilisateur clique sur l'un des boutons de commande.
    Suffit de vérifier que c'est valider qui a été sélectionné.

    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
     
    /**
    * Invoked when the user validates the input content.
     *
     * @param controller the current LyUserInputController instance
     * @param demand     demand parameters sent by the view component.
     * @see leon.app.behaviorinterface.LyUserInputBehaviorInterface#userInputDemand
     */
    public void userInputDemand(LyController controller, LyDemand demand)
    {
         String id = demand.getSource();
     
         if (id != null && id.equals(LyFormController.DEMAND_VALIDATE))
         {
              LyParameterValues   parameterValues = demand.getParameterValues();
     
              // Vérifie que les valeurs sont bien saisies dans le formulaire
              if (validate(controller, parameterValues))
              {
                   // Faire le traitement attendu ici.
     
                   close(controller);
                   return;
              }
         }
         else
              super.userInputDemand(controller, demand);
    }

  4. #4
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par romone1
    (d'ailleurs à ce niveau là, est-il indispensable de définir un nom d'attribut Java? car après avoir cliqué sur "Générer" et "Appliquer", une fois de retour sur cette fenêtre la valeur du champ à disparu...).
    Je t'invite a aller consulter les manuels fournis avec la version gratuite.
    Dans le Chapitre 16 - Générateur de code, page 7, on t'explique que le javaName d'un champ sert à construire le nom des getters et setters.

    Donc si tu changes le java name d'un champ, cela va générer 2 nouvelle méthodes get et set pour ton champ et les anciennes ne seront plus appelées => d'où la valeur "disparue".
    Ton ancienne méthode est conservée car le générateur ne touche pas à l'existant, il rajoute seulement les nouveutés.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour votre aide!
    Je reviens sur ce problème quand j'ai un peu de temps et je vous tiens au courant si j'ai réussi.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/08/2008, 12h27
  2. Réponses: 9
    Dernier message: 25/06/2008, 16h42
  3. Comment utiliser une classe Java dans une appli PB ?
    Par bobychezA56 dans le forum Powerbuilder
    Réponses: 0
    Dernier message: 09/04/2008, 18h07
  4. Réponses: 0
    Dernier message: 31/03/2008, 11h36
  5. [JSP] Utiliser une classe Java dans du Javascript
    Par BiM dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 11/07/2007, 11h52

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