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 :

Inactiver une JFrame parente


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 8
    Par défaut Inactiver une JFrame parente
    Bonjour à tous,

    J'ai un programme simple d'affichage d'une JFrame (appelons-là JF1) qui, sur un clic d'un bouton, lance une autre JFrame (JF2). Dans le constructeur de ma JF2, je transmets ma JF1 de manière à essayer de manipuler certains éléments de cette JF1.

    Mon souci, c'est que je souhaiterais que, pendant toute la durée d’existence de ma JF2, ma JF1 soit inaccessible (mais toujours visible), de manière à, notamment rendre impossible l'ouverture de plusieurs autres JF2.

    le setenabled (false) et le setfocusable (false) ne semble pas fonctionner car ma JF1 est toujours sélectionnable.

    J'ai également essayé de récupérer les objets (boutons, zones de texte, etc.) de cette JF1, pour les désactiver un par un, mais ils semble non accessibles depuis la JF2, malgré le fait que je les ai déclarés en public et que j'y ai mis des getter et setter.

    Auriez-vous une idée pour que je puisse totalement manipuler cette JF1 depuis ma JF2 ?

    Merci.

  2. #2
    Membre actif Avatar de Runhide
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 35
    Par défaut
    1) regarde si ce n'est pas un problème avec l'edt (event dispatch thread), tu peux vérifier dans tes appels si tu es dedans avec un appel à isEventDispatchThread

    Si tu lance une modification de la JF1 depuis l'intérieur d'un listener de jf2, essaye en englobant cette partie dans un SwingUtilities.invokeLater()

    2) Certains éléments on besoin qu'on revalide leur hierarchy pour afficher leur nouveau état graphique, avec revalidate, que tu peux appeler directement sur le conteneur parent.

    3) Si tu souhaites générer une frame qui peut bloquer au choix la fenêtre parente, tu peux te servir, t'inspirer ou extends la classe jdialog, qui te permet d'utiliser les Dialogues.modality, permettant de choisir l'état de la fenêtre appelante pendant le cycle de vie de la fenêtre enfanté. Ex: fenêtre parente bloqué jusqu'à la mort de l'enfantement etc...

  3. #3
    Membre habitué
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 8
    Par défaut
    Merci pour toutes ces informations, je vais les tester.

    En solution dégradée et temporaire, j'ai simplement transmis, dans le constructeur de ma JF2, l'ensemble des objets (champs, boutons, etc.) de ma JF1, et je peux donc les manipuler un par un...mais c'est un peu fastidieux

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/06/2010, 20h42
  2. Interdire de redimensionner une JFrame
    Par java_math dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 06/06/2004, 13h59
  3. Maximiser une JFrame
    Par harold63 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 02/06/2004, 13h19
  4. Faire une JFrame avec LookAndFeel
    Par aburner dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 03/12/2003, 08h54
  5. Conception d'une classe parente
    Par VincentB dans le forum Langage
    Réponses: 9
    Dernier message: 24/06/2003, 17h28

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