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 :

Utilisation de ShowDialog


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juillet 2012
    Messages : 112
    Points : 72
    Points
    72
    Par défaut Utilisation de ShowDialog
    Bonjour,

    Est ce qu'on peut utiliser ShowDialog() avec Swing ?
    car je veut bloquer l'ouverture de fenêtre lorsque il y'a une autre ouverte.
    j'ai fait un petit recherche , j'ai trouvé que l'option ShowDialog permet de faire ce truc, mais j'ai peut pas l'utilisé car il est introuvable
    Est ce que je dois importer une bibliothèque spéciale pour cette option?
    Merci

  2. #2
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Bonjour,

    Ça sort d'où ShowDialog?

    En Swing, tu peux utiliser la classe JDialog pour faire des boîte de dialogue modale.

    Tu peux aussi regarder la classe JOptionPane et l'une de ses méthodes showXXXdialog si tu as juste besoin d'une boîte de message ou de saisie standardisée.

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juillet 2012
    Messages : 112
    Points : 72
    Points
    72
    Par défaut
    bon j'ai trouvé SHOWDIALOG ici : http://www.developpez.net/forums/d11...netre-ouverte/

    je sais pas est ce que vous avez compris mon problème ou non :
    je veux bloquer l'exécution ou l'ouverture d'une jframe s'elle est déjà ouverte(c-a-d je peux pas revenir en arrière et faire une exécution d'une autre chose )
    Est ce que la class JDialog est une solution pour cette problème?
    bon j'ai fait un class blokage contient le code suivant Mais je sais pas comment je peux l'utilisé après:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Blokage extends JDialog{
       public Blokage(Editer_User contentPane)
       {
           super (JOptionPane.getFrameForComponent(contentPane));
           this.setModal(true);
       }
    }
    Edit_User c'est un nom de jframe.

  4. #4
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Citation Envoyé par karnass Voir le message
    Ça c'est du C#, rien à voir avec Java.

    Citation Envoyé par karnass Voir le message
    je sais pas est ce que vous avez compris mon problème ou non :
    je veux bloquer l'exécution ou l'ouverture d'une jframe s'elle est déjà ouverte(c-a-d je peux pas revenir en arrière et faire une exécution d'une autre chose )
    Est ce que la class JDialog est une solution pour cette problème?
    bon j'ai fait un class blokage contient le code suivant Mais je sais pas comment je peux l'utilisé après:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Blokage extends JDialog{
       public Blokage(Editer_User contentPane)
       {
           super (JOptionPane.getFrameForComponent(contentPane));
           this.setModal(true);
       }
    }
    Edit_User c'est un nom de jframe.
    Ben c'est pas très clair, mais d'après ce que tu expliques une JDialog modale me parait répondre à ton problème.

    Maintenant, pour répondre un peu mieux, il faudrait que tu expliques davantage ce que tu veut faire.
    Détaille l'interface que tu veux créer en précisant quelle est l'action qui va lancer ta boîte de dialogue et surtout ce qu'elle doit contenir.

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juillet 2012
    Messages : 112
    Points : 72
    Points
    72
    Par défaut
    Voila mon Monsieur , j'ai une premier jframe Principale contient une bouton Valider qui permet de passer à un autre jframe Secondaire.
    La Bouton valider contient le code suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Secondaire A = new Secondaire();
    A.show();
    jusqu’à maintenant c'est claire, mon problème est je veux bloquer le retour au jframe principale si je suis dans la jframe Secondaire, c-a-d je peux revenir au principale sauf si la Secondaire est fermée.
    cette option permet de n'est pas ouvrir la Jframe secondaire plusieurs fois.

  6. #6
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Citation Envoyé par karnass Voir le message
    Voila mon Monsieur , j'ai une premier jframe Principale contient une bouton Valider qui permet de passer à un autre jframe Secondaire.
    La Bouton valider contient le code suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Secondaire A = new Secondaire();
    A.show();
    jusqu’à maintenant c'est claire, mon problème est je veux bloquer le retour au jframe principale si je suis dans la jframe Secondaire, c-a-d je peux revenir au principale sauf si la Secondaire est fermée.
    cette option permet de n'est pas ouvrir la Jframe secondaire plusieurs fois.
    Tes explications manquent toujours de clarté.

    D'après ce que je comprends, l'idée serait de transformer la JFrame secondaire en JDialog modale sachant qu'il faut définir un constructeur permettant d'indiquer la JFrame parente c'est à dire celle qui sera "bloquée" lors de l'ouverture de cette boîte de dialogue. Et bien entendue, il faut préciser que ta Jdialog sera modale. Celà se fait en appelant un constructeur de la classe parent bien particulier via super.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //on fait de Secondaire une sous-classe de JDialog
    public class Secondaire extends JDialog
    //définition d'un constructeur permettant de passer la JFrame parente
     public Secondaire (JFrame owner){
    //on appelle le constructeur de la classe parent JDialog qui permet de préciser la JFrame parente et de spécifier le caractère modal de la JDialog.
      super(owner, true);
     }
     
    //suite de la définition de l'interface
     
    }

    Du coup à l'appel, ça se passerait comme ça dans le code action du bouton valider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Secondaire dialog = new Secondaire(taJFramePrincipale, true);
    dialog.setVisible(true);
    Ainsi, tant que ta JDialog secondaire sera ouverte, tu ne pourras pas interagir avec la JFrame principale.

    Mais il faudrait que tu précise ce qu'il y aura dans cette boite de dialogue, si ça se trouve, un JOptionPane peut suffire.

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

Discussions similaires

  1. Comment realiser un winform modal sans utiliser ShowDialog ?
    Par Battosaiii dans le forum Windows Forms
    Réponses: 6
    Dernier message: 21/08/2009, 13h04
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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