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 Discussion :

question en graphique


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Par défaut question en graphique
    Mon problème concerne la récupération d'un mot de passe d'une interface.
    J'ai deux interfaces graphiques l'une entraine l'exécution de l'autre.
    La première contient un JPasswordField qui contiendra le mot de passe saisi par l'utilisateur et un bouton qu'on lui applique ActionListener.
    La valeur saisi dans le JPasswordField ne peut être lue que lorsqu'on appuie sur le bouton. c'est pourquoi on récupère le mot de passe dans une autre classe mais on doit le retourner à la première. J'arrive pas a le faire.

    voici le code:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    class connection
    {
    //ici password est toujours null malgrés qu'on la récupéré dans classe connecté et on l'a renvoyé dans un nouveau constructeur
    String password;
    public connection(String password)
    {
    this.password=password;
    }
    JPasswordField pass=new JPasswordField(10);
    JButton bouton=new JButton("valider");
    void fen()
    {
    JFrame fenetre=new JFrame("fenetre");
    JPanel panneau=new JPannel();
    panneau.add(pass);
    connecté con = new connecté(this);
    bouton.addActionListener(con);
    panneau.add(bouton);
    }
    }
    class connecté implements ActionListener
    {
    String password=null;
    connection c ;
    public connecté(connection c)
    {
    this.c=c;
    }
    public void actionPerformed(ActionEvent v)
    {
    JButton b_clik=new JButton();
    b_clik=(JButton)v.getSource();
    password=c.fenetre.pass.getText();
    connection conn=new connection(password);
    }
    }
    merci à l'avance pour toutes réponses possibles. tout mon projet dépend de ce mot de passe.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Par défaut
    Salut,

    Je suis pas sûr d'avoir bien compris ce que tu souhaites faire ; c'est l'instanciation d'un nouvel objet Connection dans actionPerformed qui me laisse perplexe...

    Sinon, il me semble que tu peux utiliser l'objet Connection c dans la méthode actionPerformed (peut-être en le déclarant final si besoin).
    Ensuite tu n'as plus qu'à rajouter un setteur dans ta classe Connection pour mettre le password à jour.

    Je ne sais pas si ça peut t'aider mais bon...

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    password=c.fenetre.pass.getText();

    c.fenetre n'existe pas, t'aura du mal à y accéder. Si tu veux accéder au JPasswordField depuis connecté, il faut que les JPasswordField soit uin champ de la class connection (là, c'est juste un variable locale dans la méthode fen)

    Aussi:

    pense à indenter ton code
    en java on commence les noms de classes par des majuscule
    bien que java autorise les nome de classes unicode, donc avec des accents, ca pose toujours problème quand il faut transférer les .java dont le nom contient des accents, d'un système de fichier à un autre

  4. #4
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Salut,
    Alors déjà tout a fais d'accord tu devrais penser a indenter ton code...

    Sinon pour récupérer ton mot de passe pour moi le plus simple serais de créer une classe héritant de JDialog.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 119
    Par défaut
    Citation Envoyé par clemnantes Voir le message
    Sinon pour récupérer ton mot de passe pour moi le plus simple serais de créer une classe héritant de JDialog.
    C'est vrai, quelle idée bizarre d'utiliser un JPasswordField qui est fait pour ça...


    sonyabm, je te conseille te revoir un cours ou un tutoriel de base sur Java ou l'approche objet, pour te remettre les idées au clair.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 121
    Par défaut
    C'est tout mélangé...Ta classe connection a une double casquette...(modèle+vue)

    En général on retrouve trois éléments distincts:
    - Le modèle de données : ici les données et méthodes qui concerne ta connexion (mot de passe, status, validation du mot de passe,...)
    - La vue : ici un JFrame comportant un JPasswordField et un JButton
    - Le controleur qui agi sur le modèle de données via des évènements envoyés par la vue : ici ta classe qui implémente ActionListener

    Ton controleur qui joue un role central doit avoir accès à ta vue (ton JFrame) et accès à ton modèle de données (Connection).
    C'est le controleur qui décide de s'enregistrer en tant que "listener" sur la vue.

    Roles des vues:
    - Chaque vue doit être capables d'émettre des évènements vers les conroleurs qui sont enregistrés.
    - Et chaque vue doit aussi pouvoir être controlée via ses méthodes (ex: mettreMotDePasseEnErreur(),...)

    Roles du modèle:
    - Le modèle doit pouvoir être controlé via ses méthodes (ex: setConnectedStatus(boolean status))
    (- Le modèle doit éventuellement pouvoir émettre des évènements vers les controleurs qui se sont enregistrés dans une liste auprès du modèle)

    Roles du (des) controleur:
    - Il peut modifier le modèle ou la vue
    - S'enregister/se désenregister auprès de la vue
    (- S'enregister/se désenregister auprès du modèle)
    - Il doit être capable de réagir à des évènements issus de la vue
    (- Il doit être capable de réagir à des évènements issus du modèle)


    Remarques sur les conventions d'écriture en Java :
    - Commence toujours les noms de classe par une lettre majuscule et les noms de variables par une lettre minuscule
    - N'hésite pas à avoir des noms de variable complets et explicites (ex: passwordButton à la place de b_clik)
    - Utilise majuscule/minuscule pour séparer les mots dans un nom de variable (ex: passwordButton au lieu de password_button)
    ...

Discussions similaires

  1. question sur graphique circulaire
    Par rob1son76 dans le forum Access
    Réponses: 2
    Dernier message: 25/02/2010, 11h09
  2. [Carte graphique] Question Carte Graphique Intel
    Par jigz77 dans le forum Composants
    Réponses: 1
    Dernier message: 24/12/2008, 07h29
  3. Question sur Graphique dans état
    Par Ric21 dans le forum VBA Access
    Réponses: 9
    Dernier message: 15/05/2008, 08h19
  4. Question : Interface graphique et MouseListener
    Par SoLune dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 10/08/2007, 01h25
  5. [Question] Carte graphique
    Par sliderman dans le forum Composants
    Réponses: 10
    Dernier message: 06/08/2007, 14h26

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