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

AWT/Swing Java Discussion :

Communication entre deux Frame


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 39
    Par défaut Communication entre deux Frame
    Bonjour,

    Je suis actuellement sur un projet qui se rapproche d'une plateforme de test.
    Dans ma première frame, je permet à l'utilisateur de sélectionner et lister un ensemble de fichier contenant des informations.

    Je souhaite ensuite lister l'ensemble de ses informations dans une autre frame, et permettre de les modifier.

    Afin d'éviter tout problème à l'utilisateur, je souhaiterai que la première frame soit figée pendant que la seconde est affichée. Et afin que l'application ai un sens, je souhaiterai que les données auxquelles accède la deuxième frame soit un attribut de la première (ainsi les modifications seraient répercutés).

    Enfin, j'ai pour contrainte de devoir coder les deux frames dans deux fichiers différents.

    Mon problème est que je ne sais pas comment permettre au deux frame de communiquer correctement.

    Je pense qu'à priori il me faut créer la deuxième frame dans un autre thread, ce qui permet par ailleurs de bloquer la première. Cependant, je ne sais pas comment accéder en de telle circonstance aux attributs de la première.

    Quelqu'un (qui aurait réussit à comprendre mon bordel) pourrait-il m'indiquer la marche à suivre?

    Merci,

    Olivier

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Salut,

    Il te suffit d'utiliser un dialogue modal ce qui bloquera la fenêtre principale jusqu'à ce que le dialogue soit fermé.
    Tu crée une classe qui hérite de JDialog et paramètre la modalité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setModalityType(ModalityType.APPLICATION_MODAL);
    Pour pouvoir modifier ton objet tu as juste à le passer en argument depuis le constructeur, et tu pourra alors le modifier comme tu le veux avec ses manipulateurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class MonDialogModal extends JDialog {
         private MonObjet o;
         public MonDialogModal(MonObjet o) {
              setModalityType(ModalityType.APPLICATION_MODAL);
              this.o = o;
         }
    }

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 39
    Par défaut
    Merci pour cette réponse, qui m'apporte une solution plus simple que je ne l'imaginais.

    Toutefois, lorsque mon Jdialog apparaît, l'intéraction avec la Frame mère n'est pas bloquée.
    Y-a-t'il un moyen de bloquer ça?
    (je ne souhaiterai pas que les utilisateurs passe à l'étape suivante sans avoir terminée celle là).

  4. #4
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    l'intéraction avec la Frame mère n'est pas bloquée.
    Normalement, si tu cliques sur la fenêtre principal alors que la fenêtre modale est ouverte tu devrais entendre un son "DONM" (sous windows).

    Sinon c'est qui faut utiliser le bon constructeur de JDialog :
    JDialog(Frame owner, boolean modal)
    Creates a modal or non-modal dialog without a title and with the specified owner Frame.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //Dans la classe de la fenêtre principal
    JDialog maFenetreSecondaire = new JDialog(this, true);
    Consulte la javaDoc pour plus d'information

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 39
    Par défaut
    Bon, on va mettre ça sur le dos de ma bêtise, ok?
    J'avais bien lu la javadoc, mais rien pippé à ce booleen.

    Cela dit, merci beaucoup à vous deux, ça marche au poil.

    J'espère pouvoir un jour moi aussi aider quelqu'un sur ce forum.

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

Discussions similaires

  1. Communication entre deux frames
    Par zemeckis dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 23/03/2008, 16h54
  2. communication entre deux executables
    Par semenzato dans le forum MFC
    Réponses: 8
    Dernier message: 13/04/2005, 22h19
  3. Communication entre deux Threads
    Par rvzip64 dans le forum Langage
    Réponses: 13
    Dernier message: 28/01/2005, 09h14
  4. [jsp][servlet]passage de paramètre entre deux frames
    Par alexandra_ape dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 29/06/2004, 11h14
  5. Réponses: 5
    Dernier message: 25/03/2003, 19h43

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