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 :

Relier l'interface d'accueil avec les autres JFrame


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 110
    Par défaut Relier l'interface d'accueil avec les autres JFrame
    bonjour,
    je développe une application java Swing sous netbeans
    j'ai réalise plusieurs jFrames
    je veux réaliser une jFrame d'accueil qui contient un jMenu et un grand jPanel et lorsque je clique sur un menuItem la jFrame s'affiche dans le jPanel
    est ce que c possible ou y a t'il une autre idée de ce genre pour accéder aux diffirent jFrame de l'application
    voici un code que j'ai essayé mais il y a une probleme d'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
            // TODO add your handling code here:
            EnregistgrerArticle1 enreg = new EnregistgrerArticle1();
     
            jPanel1.add(enreg.getjTabbedPane1(), BorderLayout.CENTER);
        }

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    voici un code que j'ai essayé mais il y a une probleme d'affichage
    et si tu ajoutes un validate après le add ? tu as toujours le problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
            // TODO add your handling code here:
            EnregistgrerArticle1 enreg = new EnregistgrerArticle1();
     
            jPanel1.add(enreg.getjTabbedPane1(), BorderLayout.CENTER);
            jPanel1.validate();
        }

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 110
    Par défaut
    oui c le meme probleme
    même cette methode n'est pas pratique, pcq lorsque je fai un autre add avec un autre composant le 1er composant reste affiché
    je cherche une autre methode
    merci comeme

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    Et as-tu testé de suivre la séquence :
    - jPanel1.remove(tonPanelActuel); (voir un removeAll(); )
    - jPanel1.add(tonNouveauPanel);
    - puis enfin le validate();
    ??

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 110
    Par défaut
    mais ca ne resolue pas le probleme de l'affichage, il y a des composant qui ne sont pas affichés

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Par défaut
    La séquence proposée par Caalador me semble pas mal pour ce que tu veux faire mais tu pourrais peut être juste essayer en remplaçant le validate() par un repaint() sur le panel de la fenêtre mère (jPanel1).

    Quels sont les composants qui ne s'affichent pas ? ils ont un truc particulier ? ils sont en haut de ton panel, en bas, dans les coins ..? c'est peut être juste un pb de layout...

  7. #7
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    u pourrais peut être juste essayer en remplaçant le validate() par un repaint()
    un revalidate() ?

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 110
    Par défaut
    j'utilise netbeans et le layout par defaut est GroupLayout
    les composant ne s'affichent pas parfois en haut et parfois en bas
    pour une application qui comprend beaucoup de jframe, je veu savoir quelle est la methode ideale pour coordonner entre ces jFrame, pcq je pense que ma methode n'est pas professionnelle !!!
    merci
    le repaint a resolu le probleme de l'affichage

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 37
    Par défaut
    Content que le repaint() fonctionne .
    Voyons si je comprends bien ton besoin je reformule :
    Tu veux une fenêtre principale avec un menu et quand tu cliques sur un item de menu tu veux ouvrir une nouvelle fenêtre complètement lié à la fenêtre « mère ».
    Quand tu écris ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    EnregistgrerArticle1 enreg = new EnregistgrerArticle1();
      jPanel1.add(enreg.getjTabbedPane1(), BorderLayout.CENTER);
    je présume que EnregistgrerArticle1 est une jFrame dans laquelle tu as mis un jTabbedPane (donc c’est une fenêtre avec des onglets) c’est bien ça ? J’ai compris ce que tu as fais ?
    Bref si c’est ça alors je dirais que ta première erreur est d’avoir crée des JFrame en guise de sous fenêtres puisqu’apparemment tu ne te sers pas vraiment de la JFrame en elle même mais du JTabbedPane que tu as mis dedans. (Dans netbeans au lieu de faire new JFrame Form fallait faire new JPanel Form. Et là tu aurais fait directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    EnregistgrerArticle1 enreg = new EnregistgrerArticle1();
      jPanel1.add(enreg BorderLayout.CENTER);
    Mais bon c’est pas très grave, tu peux garder tes JFrame (maintenant que tu les as conçu ça serait pénible de les redessiner non ?  ).
    Ensuite tu as 2 choix, je ne sais pas trop le rendu que tu veux donc je t’explique :
    Si tu veux que ton application ouvre de véritables sous-fenêtres liées à une fenêtre mère alors j’aurai utilisé un JDesktopPane pour la fenêtre principale et des JFrame ou JInternalFrame en guise de sous-fenêtre (http://prevert.upmf-grenoble.fr/Prog...sktopPane.html).
    Le second choix : c’est que tu ne veux pas vraiment des sous-fenêtres mais de simples panels (je pense que c’est plutôt ça que tu veux). Si ton application n’est pas trop volumineuse et que tu dois souvent faire des actions dans le menu qui vont donc engendrer beaucoup new TaSousFenetre(), remove(tonOldPanel)… dans ce cas pour les gérer perso je ferai comme ça : Je mettrais un JPanel classique dans la JFrame mère, je mettrais un Layout de type CartLayout et j’y ajouterai toutes les sous fenêtre dès la construction de la fenêtre mère. Ensuite dans les ActionListener de tes boutons il suffit de mettre en avant le panel que tu veux (http://perso.telecom-paristech.fr/~c...ng/cartes.html).

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 110
    Par défaut
    merci beaucoup smain pour votre reponse detaillé
    je l'ai essayé, elle marche impécablement
    si ca ne va pas allordir mon application je vais la garder !!!

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

Discussions similaires

  1. Réponses: 66
    Dernier message: 08/11/2017, 11h55
  2. Réponses: 3
    Dernier message: 22/03/2010, 11h10
  3. Réponses: 3
    Dernier message: 07/08/2009, 09h37
  4. Réponses: 8
    Dernier message: 07/01/2008, 22h36
  5. partager un dossier avec les autres users (invité)
    Par cortex024 dans le forum Windows XP
    Réponses: 3
    Dernier message: 14/09/2006, 23h17

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