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

Composants Java Discussion :

Changer taille JMenuBar


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    Mai 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Mai 2015
    Messages : 34
    Points : 33
    Points
    33
    Par défaut Changer taille JMenuBar
    Bonjour à tous.
    Est-il possible de changer la largeur d'une JMenuBar ? J'aimerai avoir seulement "Fichier" et quand je clique dessus, les deux options à choix apparaissent. Je n'ai pas envie d'avoir la JMenuBar sur toute la longueur de ma JFrame. J'aimerai, si c'est possible, placer mon menu (seulement Fichier) tout en haut à droite.

    Voici mon code:

    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
    17
    18
    19
    20
    21
    22
    23
    public class MenuBarTest extends JDialog {
    	private JMenuBar menuBar = new JMenuBar();
    	private JMenu fichier = new JMenu("Fichier");
    	private JMenuItem effacer = new JMenuItem("effacer"), sauvegarder = new JMenuItem("sauvegarder");
    	private JPanel panNorth = new JPanel();
     
    	public MenuBarTest(){
    		setSize(300,500);
    		setLocationRelativeTo(null);
     
    		fichier.add(effacer);
    		fichier.addSeparator();
    		fichier.add(sauvegarder);
    		menuBar.add(fichier);
    		setJMenuBar(menuBar);
    		add(panNorth, BorderLayout.NORTH);
    	}
     
    	public static void main(String[] args) {
    		MenuBarTest m = new MenuBarTest();
    		m.setVisible(true);
    	}
    }
    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    On peut y arriver en plaçant des JPanel pour forcer la mise en page du BorderLayout.
    Le bidouillage est immonde. Il faut vraiment avoir envie d'un menu à droite (c'est une spécialité suisse ?)
    J'ai mis des couleurs dans les Jpanel pour que tu t'y retrouve :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    public class MenuBarTest extends JDialog {
    	private JMenuBar menuBar = new JMenuBar();
    	private JMenu fichier = new JMenu("Fichier");
    	private JMenuItem effacer = new JMenuItem("effacer"), sauvegarder = new JMenuItem("sauvegarder");
    	private JPanel panNorth = new JPanel();
     
    	public MenuBarTest(){
    		setSize(300,500);
    		setLocationRelativeTo(null);
     
    		fichier.add(effacer);
    		fichier.addSeparator();
    		fichier.add(sauvegarder);
    		menuBar.add(fichier);
    //		setJMenuBar(menuBar);
     
                    menuBar.setPreferredSize(new Dimension(50, 25));                
                    panNorth.setPreferredSize(new Dimension(300, 25));   
                    panNorth.setBackground(Color.green);
                    JPanel panneauBourage = new JPanel();
    		panneauBourage.setPreferredSize(new Dimension(200,25));
                    panneauBourage.setBackground(Color.red);
                    panNorth.add(panneauBourage,BorderLayout.CENTER);
                    panNorth.add(menuBar,BorderLayout.EAST);
     
    		add(panNorth, BorderLayout.NORTH); 
     
    	}
     
    	public static void main(String[] args) {
    		MenuBarTest m = new MenuBarTest();
    		m.setVisible(true);
    	}
    }
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    Mai 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Mai 2015
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Bonjour,
    merci pour votre réponse.
    Alors pour ne pas faire du bidouillage, est-il possible de mettre le JMenuBar en arrière plan ? pour faire en sorte que je puisse mettre des JButton et ComboBox sur toute la partie gris qui "est encore vide".
    Merci

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Pas avec un BorderLayout !

    Est-ce que tu développes avec NetBeans par hasard ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par Népomucène Voir le message
    Il faut vraiment avoir envie d'un menu à droite
    +1 Pas très standard...

    mais bon on peut faire tout simplement :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    public class MenuBarTest extends JDialog {
    	private JMenuBar menuBar = new JMenuBar();
    	private JMenu fichier = new JMenu("Fichier");
    	private JMenuItem effacer = new JMenuItem("effacer"), sauvegarder = new JMenuItem("sauvegarder");
    	private JPanel panNorth = new JPanel();
     
    	public MenuBarTest(){
    		setSize(300,500);
    		setLocationRelativeTo(null);
     
    		fichier.add(effacer);
    		fichier.addSeparator();
    		fichier.add(sauvegarder);
    		menuBar.add(fichier);
    		menuBar.setOpaque(false);
    		menuBar.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
    		menuBar.setBorderPainted(false);
     
    		JButton button1 = new JButton("Bouton 1");
    		JButton button2 = new JButton("Bouton 2");
    		menuBar.add(button2);
    		menuBar.add(button1);
     
    		setJMenuBar(menuBar);
    		add(panNorth, BorderLayout.NORTH);
    	}
     
    	public static void main(String[] args) {
    		MenuBarTest m = new MenuBarTest();
    		m.setVisible(true);
    	}
    }
    EDIT: au besoin si tu veux que les boutons soit cadrés à gauche : menuBar.add(Box.createHorizontalGlue()); avant d'insérer le premier bouton
    et pour des espaces entre les boutons : Box.createHorizontalStrut(width)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    Mai 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Mai 2015
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Bonjour,
    non je ne suis pas en NetBeans. Merci pour vos réponses c'est parfait. Y a-t-il un moyen d'avoir un JButton qui se déroule comme une JMenuBar ? (pas de JComboBox).
    Merci

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par maxa88 Voir le message
    Bonjour,
    non je ne suis pas en NetBeans. Merci pour vos réponses c'est parfait. Y a-t-il un moyen d'avoir un JButton qui se déroule comme une JMenuBar ? (pas de JComboBox).
    Merci
    Euh, c'est quoi au juste l'idée (et la logique) de supprimer les menus pour mettre des boutons qui se comportent comme des menus ? C'est juste pour bidouiller un truc pour pas faire standard ?
    M'enfin, tu peux toujours mettre un menu popup sur un bouton si ça te chante.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    Mai 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Mai 2015
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    J'avais un Panel déjà bien chargé. Et je voulais y rajouter seulement une sorte de "bouton" ou "menu" qui contient deux options (sauvegarder, effacer). Mais je me suis débrouillé avec vos infos. Merci

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par maxa88 Voir le message
    J'avais un Panel déjà bien chargé. Et je voulais y rajouter seulement une sorte de "bouton" ou "menu" qui contient deux options (sauvegarder, effacer). Mais je me suis débrouillé avec vos infos. Merci
    Lorsque je fais des formulaires, avec un nombre important d'actions, j'utilise souvent des toolbars : les boutons y sont beaucoup plus petits que les boutons classiques. Je travaille essentiellement en SWT, et du coup les toolbars sont rétractables (s'il y a trop de boutons pour la largeur, un petit bouton apparaît avec une drop down qui reprenne les boutons en débord) : je ne sais plus si les toolbars SWING permettent ça, mais en tout cas c'est une option avantageuse pour les formulaires avec un grand nombre d'actions.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Ergonome
    Inscrit en
    Mai 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Mai 2015
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    J'irai regarder tout ça. Merci du conseil

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

Discussions similaires

  1. Changer taille police dans un JMenu
    Par TomPouce05 dans le forum Composants
    Réponses: 11
    Dernier message: 14/09/2015, 10h13
  2. Changer Taille REDOLOG
    Par lido dans le forum Oracle
    Réponses: 1
    Dernier message: 26/01/2007, 08h20
  3. Changer taille fenêtre
    Par arnaud_verlaine dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 26/06/2006, 10h07
  4. Changer taille image
    Par Thomus38 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/06/2006, 08h21
  5. Réponses: 8
    Dernier message: 17/10/2004, 15h34

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