Domanda

Sto costruendo una menu che risiede nella barra dei menu del programma e si apre un JPopupMenu se un JButton viene cliccato il basso. Nel JPopupMenu ci sono più JMenuItems.

Tuttavia, accanto ad ogni JMenuItem mostra una casella di controllo! Che assomiglia a questo:

alt text

Non credo si deve, e non v'è esplicito JCheckBoxMenuItem per questo.

Qualcuno sa perché una casella di controllo appare in un JMenuItem e come faccio a disattivare / rimuoverlo?

Il codice

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);

dove getMenu() restituisce un JPopupMenu.

Grazie!

Saluti,
Shuo


Modifica l'ho riparato. Il problema è il Jide biblioteca. L'ho usato per un LAF personalizzato di TabbedPanel. Ed è inietta LAF per i menu a comparsa troppo fintanto che è carico.

Quindi la soluzione è troppo impostato su non stili di menu di carico.

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);
È stato utile?

Soluzione 2

Il problema è il Jide biblioteca. L'ho usato per un LAF personalizzato di TabbedPanel. Ed è inietta LAF per i menu a comparsa troppo fintanto che è carico.

Quindi la soluzione è troppo impostato su non stili di menu di carico.

LookAndFeelFactory.installJideExtension(
  LookAndFeelFactory.VSNET_STYLE_WITHOUT_MENU);

Altri suggerimenti

@zavie Sulla base di questo jide argomento del forum la soluzione è, quando si utilizza Jide di fare quanto segue prima di instatiating i menu

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

Inoltre, in Windows 7, la barra dei menu avrà un colore di sfondo leggermente diverso rispetto alle voci di menu, la soluzione è quella di utilizzare JideMenu invece di JMenu.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top