X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libjava%2Fclasspath%2Fjavax%2Fswing%2Fplaf%2Fbasic%2FBasicMenuUI.java;fp=libjava%2Fclasspath%2Fjavax%2Fswing%2Fplaf%2Fbasic%2FBasicMenuUI.java;h=30be592ee79319450d2b717fd28ade314eb7a428;hb=947b8814056ea2fba6bbcfab86591f74bffc0311;hp=6bd15ede2c5125e27e960f2c779b32a21dc87c1b;hpb=49792907376493f0939563eb0219b96a48f1ae3b;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java index 6bd15ede2c5..30be592ee79 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java @@ -46,6 +46,7 @@ import java.beans.PropertyChangeListener; import javax.swing.JComponent; import javax.swing.JMenu; import javax.swing.JMenuBar; +import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.MenuSelectionManager; import javax.swing.UIDefaults; @@ -179,12 +180,23 @@ public class BasicMenuUI extends BasicMenuItemUI */ public Dimension getMaximumSize(JComponent c) { + // If this menu is in a popup menu, treat it like a regular JMenuItem + if (!((JMenu)c).isTopLevelMenu()) + { + JMenuItem menuItem = new JMenuItem(((JMenu)c).getText(), ((JMenu)c).getIcon()); + return menuItem.getMaximumSize(); + } return c.getPreferredSize(); } + /** + * Returns the prefix for entries in the {@link UIDefaults} table. + * + * @return "Menu" + */ protected String getPropertyPrefix() { - return null; + return "Menu"; } /** @@ -294,14 +306,17 @@ public class BasicMenuUI extends BasicMenuItemUI private boolean popupVisible() { - JMenuBar mb = (JMenuBar) ((JMenu)menuItem).getParent(); + JMenuBar mb = (JMenuBar) ((JMenu) menuItem).getParent(); // check if mb.isSelected because if no menus are selected // we don't have to look through the list for popup menus if (!mb.isSelected()) return false; - for (int i=0;i