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 :

Comment provoquer le pack() d'une Jframe depuis un JPanel sans ref sur la JFrame


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é
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Par défaut Comment provoquer le pack() d'une Jframe depuis un JPanel sans ref sur la JFrame
    Bonjour,

    nous avons développé un composant graphique métier qui réside entièrement dans un JPanel (c'est comme ça qu'il faut faire non pour les composants perso non ?).

    La particularité de ce composant est qu'il peut changer de taille (affichage d'images plus ou moins zoomées). Quand cela arrive, l'application qui contient notre composant utilise la méthode pack du JFrame (qu'elle a elle-même instancié d'ailleurs) container de notre composant et tout va bien. Le problème se pose quand nous souhaitons utiliser ce composant dans une appli plus grosse ou nous n'avons pas forcement un pointeur sur la JFrame container.

    Existe t-il un moyen pour provoquer l'exécution du JFrame.pack qui contient le composant (avec plusieurs niveaux de JPanel entre les 2) sans pour autant se trainer un pointeur sur la JFrame dans la grosse appli ?

    Merci

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    La classe utilitaire SwingUtilities propose une méthode qui remonte l'arborescence des composants pour retrouver la fenêtre, ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SwingUtilities.windowForComponent(panel).pack();
    a++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Par défaut
    Mega top cool !!!!

    ca marche au poil

    un grand merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 99
    Par défaut
    Un petit bémol,
    ca marche pas (WindowForComponent renvoie null) dans une appli avec des onglets (TabbedPanel) qui contiennent des Jpanels successifs qui contiennent notre composant

    Balo cà

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Il n'y a pas de raison que cela ne marche pas : la méthode se contente de remonter de parent en parent jusqu'à la fenêtre...

    Es-tu sûr que le JPanel a bien été ajouté au JTabbedPane ?

    a++

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/08/2013, 12h43
  2. Réponses: 2
    Dernier message: 01/12/2008, 18h43
  3. Réponses: 5
    Dernier message: 09/10/2008, 19h14
  4. Comment acceder au control d'une form depuis une autre form?
    Par UnSofteuxAmateur dans le forum Windows Forms
    Réponses: 11
    Dernier message: 05/07/2007, 12h18

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