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 :

Interdire l'acces à une Jframe "mere" ?


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2005
    Messages : 175
    Par défaut Interdire l'acces à une Jframe "mere" ?
    quand une Jframe "fille" est ouverte. ce qui revient a dire : comment definir une arborescence entre Jframe. (ou autres ojects graphiques) ?

    je crée une Jframe "Liens" a partir d'une JFrame "Objet". si je ferme l'objet, la frame de "liens" reste ouverte. ca fait pas tres pro

    merci de vos reponses



    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Par défaut
    Si c juste un probleme de fermeture des fenetres, tu n as qu'a définir l'action de fermeture sur ta frame principale. Et quand tu la fermera toute les autres se fermeront aussi.
    Mais si tu ferme une fenetre fille, ca ne fermera pas la fenetre mère.

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2005
    Messages : 175
    Par défaut
    c'est moins simple. en effet, la fentre principale (appelée "appli") a l'action de "fermer" et si on la ferme, toute l'appli se ferme.

    ce n'est pas ce que je veux. je veux en quelque sorte que chaque fenetre qui ouvre une autre fenetre ne soit plus accessible tant que l'on a pas fermé la fenetre ouverte par cette fenetre (je sais pas si je suis tres clair..)

    exemple du poppup "JOptionPane" qui prend en parametre la frame dont il depend. tant que le poppu n'est pas fermé, la fenetre passee en parametre n'est plus accessible (et c'et logique). voila ce que je veux faire.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 64
    Par défaut
    Salut,

    Ce que tu veux, ce sont des fenêtres "modale".
    Or les JFrame ne peuvent être modales (enfin, a ma connaissance).
    Il faut utiliser des JDialog pour avoir cette option (méthodes setModal() et isModal()).
    Par contre, je ne sais pas si utiliser des JDialog te conviendra.

    Autre solution, créer toi même des JFrame modale (via setEnabled() ou un truc du genre). Par contre, ça peut être long et ne pas donner de résultat...
    A toi de voir.

  5. #5
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut
    Autre solution ... tu passes par une JFrame globale (l'appli) composée de multiples JPanel ... et tu bascules entre chacun pour naviguer ... en plus, avoir une seule fenetre, je trouve ca bien plus pratique que 50000 JFrame, imagine que tu ouvre une JFrame en ouvrant une nouvelle puis encore une , et ainsi de suite... ca devient vite le bordel pour les acces...

    avec les JPanel, un seul st visible a la fois donc pu de probleme d'encombrement et pu de pb d'acces aux ecrans precedent avant d'avoir rempli celui actif

  6. #6
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2005
    Messages : 175
    Par défaut
    c pas faux bizur, mais ca depend quand meme de l'appli. et puis ca m'oblige un peu a modifier pas mal de code, surtout que mes Jframes sont deja composées chacune de plusieurs panels. alors bien sur je peux aussi faire des panels de panels de panels, mais est ce que ca vaut le coup d'y passer une demi-journee alors que si cette fonction de "disablation" est toute faite pour les JOptionPane, elle doit bien etre implementee qqpart.

    je cherche un peu et si je trouve je vous dis.

  7. #7
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2005
    Messages : 175
    Par défaut
    voici la solution que j'ai inventée en ecoutant le conseil de deverdeb (il y a surement mieux, car il faut refaire le bordel a chaque Jframe, tout en sachant a l'avance qui a ouvert cette Jframe)

    dns le constructeur de la fenetre fille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    getFenetreMere().setEnabled(false);
            setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
            WindowAdapter close = new WindowAdapter() {
               public void windowClosing(WindowEvent e) {
                  cancelButton.doClick();
               }
            };
            addWindowListener(close);
    la methode appelée par le listener du cancel boutton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    getFenetreMere().setEnabled(true);
                this.dispose();
    il y a un "OK" button, qui doit aussi appeler la methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getFenetreMere().setEnabled(true);
    , et de manière générale , il faut le faire des qu'o ferme la fentre ce qui implique vigilance. mais bon au moins ca marche.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/09/2006, 14h37
  2. [VBA-E] (débutante) comment interdire l'accès à une plage?
    Par aniu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/02/2006, 12h45
  3. Interdire de redimensionner une JFrame
    Par java_math dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 06/06/2004, 14h59

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