By default, Swing popup menus used by JMenu and JPopupMenu are lightweight. If heavyweight components are used in the same frame, the popup menus may appear behind the heavyweight components.
This example demonstrates how to force a JPopupMenu to use heavyweight components:
JPopupMenu popupMenu = new JPopupMenu();
// Retrieve current setting
boolean lwPopup = popupMenu.isLightWeightPopupEnabled(); // true
// Force the popup menu to use heavyweight components
popupMenu.setLightWeightPopupEnabled(false);
// To use the popup menu, see e810 Creating a Popup Menu
This example demonstrates how to force the popup menu of a JMenu to be heavyweight:
// Create a menu with a menu item
JMenu menu = new JMenu("Menu Label");
menu.add(new JMenuItem("Item Label"));
// Retrieve current setting
lwPopup = menu.getPopupMenu().isLightWeightPopupEnabled(); // true
// Force the menu's popup menu to be heavyweight
menu.getPopupMenu().setLightWeightPopupEnabled(false);
// To use the menu, see e808 建立菜单栏,菜单,菜单项
This example configures all popup menus to be heavyweight:
// Retrieve current setting
lwPopup = JPopupMenu.getDefaultLightWeightPopupEnabled(); // true
// Globally use heavyweight components for all popup menus
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
| Related Examples |