Question

Je construis un menu déroulant qui se trouve dans la barre de menu du programme et affiche une JPopupMenu si un JButton obtient cliqué. Dans le JPopupMenu il y a plusieurs JMenuItems.

Cependant, à côté de chaque JMenuItem il montre une case à cocher! Ce qui ressemble à ceci:

text alt

Je ne pense pas qu'il devrait, et il est JCheckBoxMenuItem explicite pour cela.

Quelqu'un sait-il pourquoi une case à cocher apparaît dans une JMenuItem et comment puis-je désactiver / supprimer?

Le code

ImageIcon icon = ViewUtilities.createIcon("resource/gui/mainMenu.png", _buttonLength);
setIcon(icon);

JMenuItem menuItem = new JMenuItem("New Whiteboard");
menuItem.addActionListener(new NewWhiteboardActionListener());
getMenu().add(menuItem);

menuItem = new JMenuItem("Open...");
menuItem.addActionListener(new OpenFileActionListener());
getMenu().add(menuItem);

menuItem = new JMenuItem("Preferences...");
menuItem.addActionListener(new PreferencesActionListener());
getMenu().addSeparator();
getMenu().add(menuItem);

menuItem = new JMenuItem("Exit");
menuItem.addActionListener(new ExitActionListener());
getMenu().addSeparator();
getMenu().add(menuItem);

getMenu() retourne un JPopupMenu.

Merci!

Cheers,
Shuo


Modifier Je l'ai fixé il. Le problème est sur la bibliothèque Jide . Je l'ai utilisé pour un LAF personnalisé de TabbedPanel. Et il injectent LAF pour les menus pop-up trop aussi longtemps qu'il est charge.

Donc, la solution est trop réglée à ne pas styles de menu de charge.

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);
Était-ce utile?

La solution 2

Le problème est sur la bibliothèque Jide . Je l'ai utilisé pour un LAF personnalisé de TabbedPanel. Et il injectent LAF pour les menus pop-up trop aussi longtemps qu'il est charge.

Donc, la solution est trop réglée à ne pas styles de menu de charge.

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);

Autres conseils

@zavie Sur la base de ce sujet sur le forum Jide la solution est, lors de l'utilisation Jide pour effectuer les opérations suivantes avant instatiating vos menus

LookAndFeelFactory.installDefaultLookAndFeel();
LookAndFeelFactory.installJideExtension();

En outre, sous Windows 7, la barre de menu aura une couleur d'arrière-plan légèrement différent de celui des éléments du menu, la solution est d'utiliser JideMenu au lieu de JMenu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top