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 :

Comment structurer son code pour une fenêtre de login ?


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 24
    Points : 15
    Points
    15
    Par défaut Comment structurer son code pour une fenêtre de login ?
    Bonjour à tous,


    Je dois programmer une application de tchat en java pour ma licence (rien d'original) avec aussi une identification très simple par une fenêtre de login & mot de passe qui vérifie grâce à un if si les login et mdp sont ok (pas de BDD).

    Pour la fenetre de tchat, pas de problème : une classe pour l'IHM, un thread client (socket UDP) lancé par un bouton de l'IHM, un thread serveur (socket UDP également) lancé par un bouton de l'IHM et une classe chef d'orchestre qui lance l'IHM.

    Je ne vois pas très bien comment articuler le tout avec un objet fenêtre de login / mdp qui doit apparaître au lancement et en cas de bonne identification lancer l'IHM du tchat.

    Comment feriez-vous?

    J'ai pour l'instant 2 options en tête :
    1) lancer la fenêtre de login par création d'un objet dans la classe chef d'orchestre
    2) transformer la classe fenetre de login en chef d'orchestre qui lance l'IHM quand les login et mdp sont corrects

    Pour la 1) je ne vois comment mettre le code principal en "pause" tant que les login et mdp ne sont pas saisis. Faut-il transformer la fenêtre de login & mdp en objet runnable?

    Pour la 2) cela semble facile mais ça me paraît être une manière un peu "sale" de structurer le code et je préfère coder proprement quitte à tout refondre!

    Merci beaucoup pour vos conseils!
    VonWolf

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Points : 66
    Points
    66
    Par défaut
    si j'ai bien comprit tu a une fenetre A qui contien le login et le mot de passe et B pour tchatter si c'est le cas tu peut faire dans la classe du fenetre A une instance vers la class B c'est a dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    JFrameB FrameB = new JFrameB();
    //si le log et passe sont correcte tu rend la fenêtre A invisible et la fenêtre B visible
    FrameB.(ici la méthode qui construit la fenetre du tchat)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 120
    Points
    120
    Par défaut
    Pour ton option 1) tu met une attente active de ton programme tant que tu n'es pas connecté.

    Dans ta classe "chef d'orchestre" :

    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
     
    public EcranLogin login;
    public boolean estConnecte = false;
     
    public chefOrchestre(){
         ...
         login = new EcranLogin(null, true);//ici EcranLogin est un JDialog
         while(!estConnecte){
               LoginCorrect();
         }
         //la suite de ton code pour lancer ta fenetre de tchat
    }
     
    public void LoginCorrect(){
            login.setVisible(true);
            //vérifier si les valeurs du login sont correct.
           if(mesValeursCorrect){
                 estConnecte = true;
           }
    }
    Il faut aussi que ta fenetre de login soit modal.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Merci à vous deux.

    Rhadamenthys ta structure correspond bien à ce que je cherchais.

    Si je comprends bien le while tourne en permanence tant que les bons login et mdp ne sont pas renseignés.

    Est-ce que ça ne risque pas de monopoliser le processeur, et ne faudrait il pas un thread pour que de temps en temps le while laisse la méthode LoginCorrect travailler?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 120
    Points
    120
    Par défaut
    Pour ton option 1) tu met une attente active de ton programme tant que tu n'es pas connecté.
    Oui la ca bloque ton code tant que ton utilisateur n'a pas renseigné les bons login et mdp.

    En gros une fenetre d'authentification va s'ouvrir. Et attends.
    une fois que c'est bon, ton code va se poursuivre.

    Pour la 1) je ne vois comment mettre le code principal en "pause" tant que les login et mdp ne sont pas saisis.
    Ce qui fait exactement ce que tu veux.

    Maintenant si tu veux que ton programme ne se mette pas en pause, il faut effectivement le mettre dans un Thread. Si tu as bien creer ton EcranLogin en JDialog, tu peux le faire, vue qu'il sera modal.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Merci je vais tester ça!

Discussions similaires

  1. [PDO] PDO Comment structurer son code quand on a plusieurs requêtes?
    Par binco dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/12/2014, 04h50
  2. [Débutant] Organiser son code pour une jointure entre 2 tables
    Par scude dans le forum ASP.NET MVC
    Réponses: 4
    Dernier message: 02/05/2012, 11h59
  3. Réponses: 0
    Dernier message: 30/12/2010, 22h28
  4. Comment structurer son code ?
    Par Djey6 dans le forum wxPython
    Réponses: 1
    Dernier message: 09/12/2010, 16h24
  5. Réponses: 3
    Dernier message: 01/03/2010, 15h47

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