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 :

un même JPanel dans deux JFrame


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 80
    Points
    80
    Par défaut un même JPanel dans deux JFrame
    Boujour

    Je cherche à mettre un JPanel dans deux JFrame distinc. L'ennuit étant que quand il s'affiche dans l'un, il s'efface de l'autre. J'ai essayé de le cloner, mais cela ne fonctionne pas non plus.

    Est-ce moi qui me suis planté, ou est-ce normal en java?

    Cela m'ettonerai qu'il n'existe pas de solution, mais j'ai pas réussi à trouver.

    Si vous avez des idées.

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    C'est normal en java, un même objet ne peut pas avoir 2 parents, ce que tu peut faire si tes 2 JFrame s'affichent en meme temps, c'est en créer 2, mais faire à chaque fois les modifs sur les 2 ou alors si tes JFrame ne s'affichent jamais en meme temps, il te suffit de l'afficher dans l'une puis dans l'autre

  3. #3
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Coucou,

    Je pencherai pour 2 JPanel où tu fais les modifications dans les deux en meme temps. Parceque si j'ai bien compris ta 2e solution, il faudrait retirer le panel a chaque fois que la premiere JFrame se retrouve non visible et l'ajouter à la 2e, et vice versa. Ca risque de donner des mics macs impossibles.. Déja que le développement d'IHM en Java, on s'embrouille facilement

    mavina

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Oui c'est vrai que la première solution est mieux, mais en fait pour la deuxième, il n'y pas besoin d'enlever le panel de la première fenetre, il suffit de l'ajouter à la deuxième et comme il ne peut avoir 2 parents il sera enlevé de la première... Je sais pas si je suis très clair là

  5. #5
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    ah ouais ca se fait automatiquement ? Je pensais qu'il te génererai une exception ou un truc comme ca quand tu essaie d'ajouter un panel qui a déja un parent...
    Menfin ...

  6. #6
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Il est possible que dans certains cas, ca génère une exception, mais il me semble pas... Ca m'efffacait toujours l'autre quand j'ajoutais une deuxième, mais je t'accorde que c'est pas pratique et pas optimal (Optimal ce serait la solution ou un objet aurait 2 parents mais bon...)

  7. #7
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 80
    Points
    80
    Par défaut
    Bah, dans mon cas, ça ne genere pas d'exception.
    J'ai recuperé le JPanel, je l'ai affiché dans une autre JFrame, et là, oh surprise, il s'efface de mon premier JFrame... Donc pas d'exception.

    Sinon, existe t'il moyen de cloner un JComponent ou un JPanel? j'ai essayé, mais j'ai une erreur à la compilation. J'avoue que mon composant est assez important, et j'ai pas franchement envie de le reconstruire de A à Z pour une JFrame temporaire.

    Pour information, la seconde JFrame est lancée pour permettre une impression de certain composant de la premiere JFrame. Elle est donc trés furtive et l'utilisateur ne la voit même pas...

  8. #8
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Evidemment !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JPanel monClone=(JPanel)panelACloner.clone()
    Le tout peut etre dans un try catch, ca génere une exception si c'est inclonable

    bien à toi !

    mavina

  9. #9
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par mavina
    Evidemment !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JPanel monClone=(JPanel)panelACloner.clone()
    Le tout peut etre dans un try catch, ca génere une exception si c'est inclonable

    bien à toi !

    mavina
    Ben le probleme étant que JPanel -ou JComponent, et tout ce qui est extend- n'implementent pas Cloneable, et ne sont donc pas clonable...
    On ne pourra donc pas faire de clonage en profondeur de composant graphique de notre jus qui hérite de JComponent.
    (A moins que j'ai loupé un truc sur le clonage, ce qui est fort possible...)

  10. #10
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    ah bah c'est inclonable alors :\

  11. #11
    Membre averti Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Points : 375
    Points
    375
    Par défaut
    Salut,

    je confirme : il n'y a pas d'exception envoyé si tu as ajoutes un component dans un container alors qu'il etait deja associé à un autre container.
    Et je pense qu'il est plus simple de gerer la deuxieme option plutot qu'instancier 2 fois ton panel ou pire créer 2 classes d'objet differents. Car si tu dois par la suite utiliser ton panel dans plus de 2 frames (ou bien l'inserer dans differents panel ) ca va vite devenir chiant si tu dois créer des panels differents a chaque fois ... (en tout cas moi je gere comme ca et ca ne pose aucun probleme)

    @+

  12. #12
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    mais le problème est là si tu dois afficher deux fois le meme objet en même temps, là tu peut plus employer cette technique et tu dois donc employer l'autre. Par exemple si dans 2 JFrame tu as simultanément le même JPanel.

    Donc les 2 solutions sont valables, mais tant que le cas ou l'affichage simultané de 2 ou plus d'éléments les mêmes ne se présentent pas, il faut employer la solution dans laquelle tu change le parent de l'objet pour l'afficher ailleurs.

    Lol, on dirait une règle mathématique

  13. #13
    Membre averti Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Points : 375
    Points
    375
    Par défaut
    ha j'avais pas pigé que les 2 frames apparaissaient à l'ecran en meme temps
    Effectivement moi mes composants sont dans la meme frame mais voyages d'un panel a l'autre (dans des tabbedpane) donc la solution 2 convient parfaitement

    remarque blaise_laporte si comme tu le dis, la fenetre 2 est 'furtive' tu peux utiliser cette solution et repousser ton panel dans ta frame 1 tout de suite apres ....
    c'est moins chiant que tout dupliquer

  14. #14
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 80
    Points
    80
    Par défaut
    Pfff, deception... c'est le premiere fois qu'un probleme java ne se resout pas simplement...

    Quoi je debute? ça ce voit tant que ça?

    Merci pour vos conseil.

  15. #15
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par blaise_laporte
    Pfff, deception... c'est le premiere fois qu'un probleme java ne se resout pas simplement...

    Quoi je debute? ça ce voit tant que ça?

    Merci pour vos conseil.
    mouahahahah
    Tu en verras d'autres

    de rien et bon courage pour la suite

    mavina

  16. #16
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par blaise_laporte
    Pfff, deception... c'est le premiere fois qu'un probleme java ne se resout pas simplement...

    Quoi je debute? ça ce voit tant que ça?

    Merci pour vos conseil.
    Je trouve plutot que c'est un problème qui se résout simplement

    Tu en verras des bien pires, mais c'est ca les joies de la programmation, non ?

Discussions similaires

  1. Afficher un même JPanel dans plusieurs onglets de JTabbedPane (dans une même JFrame)
    Par laurent.fructus dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 17/03/2014, 08h06
  2. Positionner précisement plusieurs JPanel dans une JFrame.
    Par RadicalBob dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 13/06/2006, 22h42
  3. [C#]Insérer le même nom dans deux treeview
    Par fafa139 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/04/2006, 19h58
  4. Ajout de JPanel dans un JFrame
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 13/04/2006, 12h22
  5. Gestion de menu, JPanels dans une JFrame
    Par Doc.Fusion dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 03/12/2004, 18h27

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