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

Agents de placement/Fenêtres Java Discussion :

JDialog plein écran


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 472
    Par défaut JDialog plein écran
    Bonjour,

    J'ai une JFrame fenetre1 qui comporte un bouton faisant apparaître une nouvelle fenetre2 (JDialog ? JWindow ? JFrame ? ...) qui doit être modale par rapport à fenetre1. le fenetre1 n'est pas nécessairement en plein écran mais je souhaite que fenetre2 soit elle en plein écran.
    Je voudrai un fenetre2.setExtendedState(MAXIMUM_BOTH). Est-ce possible ?
    En fait ce que je veux c'est que fenetre1 soit bloquée tant qu'on n'a pas fermé fenetre2.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Par défaut
    Bonjour,
    tu peux utiliser un JDialog, et le rendre modal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    JDialog fenetre2 = new JDialog(fenetre1, Dialog.ModalityType.APPLICATION_MODAL);
    fenetre2.setVisible(true);
    Par contre, je ne crois pas que le JDialog puisse être maximisé...

    Si tu veux vraiment obtenir cet effet, tu peux utiliser une JFrame, que tu maximise, et tu mets sa fenêtre parente en disabled :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    JFrame fenetre2 = new JFrame();
    fenetre1.setEnabled(false);
    fenetre2.setExtendedState(MAXIMIZED_BOTH);
    fenetre2.setVisible(true);
    mais c'est un peu perturbant pour l'utilisateur.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 472
    Par défaut
    Citation Envoyé par kox2ee Voir le message
    Bonjour,
    tu peux utiliser un JDialog, et le rendre modal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    JDialog fenetre2 = new JDialog(fenetre1, Dialog.ModalityType.APPLICATION_MODAL);
    fenetre2.setVisible(true);
    Par contre, je ne crois pas que le JDialog puisse être maximisé...

    Si tu veux vraiment obtenir cet effet, tu peux utiliser une JFrame, que tu maximise, et tu mets sa fenêtre parente en disabled :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    JFrame fenetre2 = new JFrame();
    fenetre1.setEnabled(false);
    fenetre2.setExtendedState(MAXIMIZED_BOTH);
    fenetre2.setVisible(true);
    mais c'est un peu perturbant pour l'utilisateur.
    En fait c'est pour mon programme d'oiseaux qui comprend un jeu, une galerie des images, un diaporama.

    Pendant le jeu on ne peut pas utiliser la galerie ou le diaporama, pendant la galerie on ne doit pas pouvoir relancer le jeu ou alors ça devrait pouvoir fermer la galerie, pareil pour le diaporama. La galerie et le diaporama s'excluent aussi mutuellement.
    Peut-être tout bêtement avec un attribut galerie (et un aussi pour diaporama) qui seraient des JFrame et si je lance le jeu je teste si galerie est null et si ce n'est pas le cas : dispose() ? Qu'en penses-tu ?
    J'avais autrement l'idée d'utiliser des JDialog mais j'ai vraiment besoin que la galerie soit assez grande (elle contient un JScrollPane avec toutes les images). Hum ... je vais tenter l'idée des attributs.
    Le mieux serait que si la fenêtre galerie perd le focus, elle se ferme. Tiens ça serait une idée à creuser.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Par défaut
    Bonjour,
    tu peux aussi mettre setVisible(false) sur la fenêtre appelante, si tu veux une exclusion mutuelle entre tes parties d'application.

    Puis dans ton appli, tu mets un membre activeFrame. L'activation d'une partie de l'appli passe alors par le modificateur de activeFrame :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void setActiveFrame(JFrame frameToActivate){
    //Eventuelles précautions sur la nullité à insérer...
    	if(!activeFrame.equals(frameToActivate)){
    		activeFrame.setVisible(false);
    		frameToActivate.setVisible(true);
    	}
    }

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 472
    Par défaut
    Citation Envoyé par kox2ee Voir le message
    Bonjour,
    tu peux aussi mettre setVisible(false) sur la fenêtre appelante, si tu veux une exclusion mutuelle entre tes parties d'application.

    Puis dans ton appli, tu mets un membre activeFrame. L'activation d'une partie de l'appli passe alors par le modificateur de activeFrame :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void setActiveFrame(JFrame frameToActivate){
    //Eventuelles précautions sur la nullité à insérer...
    	if(!activeFrame.equals(frameToActivate)){
    		activeFrame.setVisible(false);
    		frameToActivate.setVisible(true);
    	}
    }
    En fait j'ai finalement suivi ta première idée. C'était le plus simple. Des JDialog mais avec une taille minimale fixée. Et ça marche.

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

Discussions similaires

  1. [GNU Pascal] Lancer une application en plein écran
    Par joleboss dans le forum Autres IDE
    Réponses: 13
    Dernier message: 20/05/2004, 12h57
  2. Perte du device en plein écran
    Par Dranor dans le forum DirectX
    Réponses: 2
    Dernier message: 10/09/2003, 09h24
  3. Thread et affichage direct3D plein écran
    Par Harry_polin dans le forum DirectX
    Réponses: 8
    Dernier message: 13/03/2003, 22h22
  4. Réponses: 17
    Dernier message: 17/10/2002, 20h06
  5. plein écran
    Par patapetz dans le forum OpenGL
    Réponses: 9
    Dernier message: 21/08/2002, 14h15

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