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 :

[JMenuBar] Ajouter un JMenuBar dans un ScrollPane


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 148
    Par défaut [JMenuBar] Ajouter un JMenuBar dans un ScrollPane
    Bonjour,

    J'ai fait une JFrame avec juste un menu vertical à l'intérieur (Que j'appelle via le clic d'un bouton sur une autre JFrame)

    Je voulais mettre ce menu dans ScrollPane, car il est dynamique et est plus ou moins long et ma Frame ne doit pas dépasser une certaine taille.

    Est ce possible? si oui comment car je me mélange un peu les pinceaux

    Merci!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut Bonjour
    Je ne comprend pas trop l'interêt de mettre seulement un menu dans un frame.
    Si ton but est d'avoir un menu dynamique lors du click sur un bouton, il me semble qu'un JPopupMenu serait plus adéquate non?

    Y-a-t-il un raison particulière pour que tu mettes juste un menu dans un JFrame à part?

    cdlt

  3. #3
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 148
    Par défaut
    Salut,

    Oui ca peux paraitre étrange, mais je dois faire menu vertical plus ou ou moins grand qui ne doit pas dépasser par exemple 10 éléments à l'affichage et le reste doit être gérer par un ascenceur.

    Donc je suis partis sur une Frame avec un JMenuBar et je pensais pouvoir gérer l'ascenceur avec la Frame mais je n'y arrives pas

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut Rebonjour
    Pourquoi tu n'y arrives?
    T'as des erreurs?
    Montre le code peut être, ca peut toujours aider.

    Quand tu ouvre ta fenêtre avec ton Menu, il doit déjà être déplié?

    cdlt

  5. #5
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 148
    Par défaut
    En fait mon JMenuBar est construit à l'aide d'un arbre, mon code est un peu long.

    Serait il possible d'avoir un exemple de code avec une JFrame,JMenuBar et un Scrollpane?

    En je construis mon JMenuBar dans ma JFrame de la façon suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private JFrame mainFrame=new JFrame(); 
    private JMenuBar mainMenu = new JMenuBar(); 
     
    mainMenu.setLayout(new GridLayout(tailledemonarbre,1));
     
    //Traitement
    ...
     
    mainFrame.setJMenuBar(mainMenu); 
    mainFrame.pack(); 
    mainFrame.setVisible(true);
    Donc je construis mon Menu après j'affiche ma fenetre.

    Merci en tout cas

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Re,

    bon tout d'abord, je repose ma dernière question : "Quand tu ouvre ta fenêtre avec ton Menu, il doit déjà être déplié?"

    Ensuite, pourquoi met tu un layout sur un JMenuBar?
    Normalement c'est inutile.

    Je n'ai aucun code pour ca, désolé.

    Mais dans l'idée ca serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    private JFrame mainFrame=new JFrame(); 
    private JMenuBar maMenuBar= new JMenuBar(); 
    private JMenu monMenu = new JMenu("monMenu");
    maMenuBar.add(monMenu );
     
    //Et dans ton traitement, tu ajoute un JMenuItem pour chaque 
    // noeud par exemple
     monMenu.add(new JMenuItem("item1"));
     monMenu.add(new JMenuItem("item2"));
    ....
     
    mainFrame.setJMenuBar(maMenuBar); 
    mainFrame.pack(); 
    mainFrame.setVisible(true);
    Un truc comme ca quoi.
    Pour la JScrollBAr, je ne vois pas trop où la caser en fait.

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765

  8. #8
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 148
    Par défaut
    Citation Envoyé par piou1234 Voir le message
    Re,

    bon tout d'abord, je repose ma dernière question : "Quand tu ouvre ta fenêtre avec ton Menu, il doit déjà être déplié?"

    Ensuite, pourquoi met tu un layout sur un JMenuBar?
    Normalement c'est inutile.

    Je n'ai aucun code pour ca, désolé.

    Mais dans l'idée ca serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    private JFrame mainFrame=new JFrame(); 
    private JMenuBar maMenuBar= new JMenuBar(); 
    private JMenu monMenu = new JMenu("monMenu");
    maMenuBar.add(monMenu );
     
    //Et dans ton traitement, tu ajoute un JMenuItem pour chaque 
    // noeud par exemple
     monMenu.add(new JMenuItem("item1"));
     monMenu.add(new JMenuItem("item2"));
    ....
     
    mainFrame.setJMenuBar(maMenuBar); 
    mainFrame.pack(); 
    mainFrame.setVisible(true);
    Un truc comme ca quoi.
    Pour la JScrollBAr, je ne vois pas trop où la caser en fait.

    Salut,

    Pour la construction du menu pas de problème, je bloque sur le scrollpane etoui mon menu doit être déplié.

    Pour l'idée du menu extensible c'est vraiment sympa je note pour un autre dev, mais c'est pas ce que je cherche.

    Pour des raison fonctionnelle, mon applic doit s'afficher tout en bas à droite de l'écran. Mon menu peux alors dépasser de l'écran, je cherche le moyen de pouvoir mettre un ascenseur. J'ai ajouté mon menu dans une Frame et c'est ma Frame que j'affiche.

    Merci

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Bonjour,

    mais s'il doit être déplié, pourquoi faire un menu????

    Cdlt

  10. #10
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 148
    Par défaut
    Salut,

    Pas déplié pardon j'ai pas compris.

    C'est un menu Vertical, donc au début j'ai tjs :

    Menu
    Menu1
    Menu2
    Menu3
    Menu4
    ...
    MenuX

    Après au passage sur chaque menu je déplie à l'horizontal.

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Rebonjour,

    pourquoi mettre une MenuBar alors?

    Crée un JScrollPane, ajoute un panel avec un gridLayout(X,1) à ce scroll.
    Mets tes preferredSize sur ce panel puis ajoute tous tes JMenu.

    Cdlt

  12. #12
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 148
    Par défaut
    Un menu dans un Panel c'est pas top, faut tout refaire.

    J'ai fais autrement, j'affiche mon menu selon la position dans la fenetre et j'ajuste, et cela a le même effet.

    Merci en tout cas de ton aide.

    Je mets en résolu mais en passant par une autre méthode.

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

Discussions similaires

  1. Ajouter du texte dans une edit box
    Par raf_gug dans le forum MFC
    Réponses: 10
    Dernier message: 23/05/2013, 10h00
  2. Ajouter a la suite dans un panel contenu dans un scrollpane
    Par Darkcristal dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 16/08/2007, 17h14
  3. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  4. Réponses: 4
    Dernier message: 18/11/2003, 16h08
  5. Réponses: 12
    Dernier message: 26/02/2003, 08h14

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