diff options
Diffstat (limited to 'libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java')
-rw-r--r-- | libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java | 89 |
1 files changed, 61 insertions, 28 deletions
diff --git a/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java b/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java index 30be592ee79..e638b68e1dc 100644 --- a/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java +++ b/libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java @@ -38,6 +38,7 @@ exception statement from your version. */ package javax.swing.plaf.basic; +import java.awt.Component; import java.awt.Dimension; import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; @@ -46,8 +47,8 @@ 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.LookAndFeel; import javax.swing.MenuSelectionManager; import javax.swing.UIDefaults; import javax.swing.UIManager; @@ -92,7 +93,7 @@ public class BasicMenuUI extends BasicMenuItemUI */ protected ChangeListener createChangeListener(JComponent c) { - return new ChangeHandler(); + return new ChangeHandler((JMenu) c, this); } /** @@ -180,12 +181,6 @@ 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(); } @@ -205,21 +200,17 @@ public class BasicMenuUI extends BasicMenuItemUI */ protected void installDefaults() { - UIDefaults defaults = UIManager.getLookAndFeelDefaults(); - - menuItem.setBackground(defaults.getColor("Menu.background")); - menuItem.setBorder(defaults.getBorder("Menu.border")); - menuItem.setFont(defaults.getFont("Menu.font")); - menuItem.setForeground(defaults.getColor("Menu.foreground")); - menuItem.setMargin(defaults.getInsets("Menu.margin")); - acceleratorFont = defaults.getFont("Menu.acceleratorFont"); - acceleratorForeground = defaults.getColor("Menu.acceleratorForeground"); - acceleratorSelectionForeground = defaults.getColor("Menu.acceleratorSelectionForeground"); - selectionBackground = defaults.getColor("Menu.selectionBackground"); - selectionForeground = defaults.getColor("Menu.selectionForeground"); - arrowIcon = defaults.getIcon("Menu.arrowIcon"); - oldBorderPainted = defaults.getBoolean("Menu.borderPainted"); - menuItem.setOpaque(true); + LookAndFeel.installBorder(menuItem, "Menu.border"); + LookAndFeel.installColorsAndFont(menuItem, "Menu.background", + "Menu.foreground", "Menu.font"); + menuItem.setMargin(UIManager.getInsets("Menu.margin")); + acceleratorFont = UIManager.getFont("Menu.acceleratorFont"); + acceleratorForeground = UIManager.getColor("Menu.acceleratorForeground"); + acceleratorSelectionForeground = UIManager.getColor("Menu.acceleratorSelectionForeground"); + selectionBackground = UIManager.getColor("Menu.selectionBackground"); + selectionForeground = UIManager.getColor("Menu.selectionForeground"); + arrowIcon = UIManager.getIcon("Menu.arrowIcon"); + oldBorderPainted = UIManager.getBoolean("Menu.borderPainted"); } /** @@ -245,6 +236,7 @@ public class BasicMenuUI extends BasicMenuItemUI protected void setupPostTimer(JMenu menu) { + // TODO: Implement this properly. } /** @@ -356,6 +348,7 @@ public class BasicMenuUI extends BasicMenuItemUI public void mouseMoved(MouseEvent e) { + // TODO: What should be done here, if anything? } public void mousePressed(MouseEvent e) @@ -421,10 +414,13 @@ public class BasicMenuUI extends BasicMenuItemUI public void menuDeselected(MenuEvent e) { JMenu menu = (JMenu) menuItem; - if (menu.isTopLevelMenu()) - ((JMenuBar) menu.getParent()).getSelectionModel().clearSelection(); - else - ((JPopupMenu) menu.getParent()).getSelectionModel().clearSelection(); + if (menu.getParent() != null) + { + if (menu.isTopLevelMenu()) + ((JMenuBar) menu.getParent()).getSelectionModel().clearSelection(); + else + ((JPopupMenu) menu.getParent()).getSelectionModel().clearSelection(); + } } /** @@ -456,6 +452,7 @@ public class BasicMenuUI extends BasicMenuItemUI */ public void propertyChange(PropertyChangeEvent e) { + // TODO: Implement this properly. } } @@ -464,9 +461,40 @@ public class BasicMenuUI extends BasicMenuItemUI */ public class ChangeHandler implements ChangeListener { + /** + * Not used. + */ + public boolean isSelected; + + /** + * Not used. + */ + public JMenu menu; + + /** + * Not used. + */ + public BasicMenuUI ui; + + /** + * Not used. + */ + public Component wasFocused; + + /** + * Not used. + */ + public ChangeHandler(JMenu m, BasicMenuUI ui) + { + // Not used. + } + + /** + * Not used. + */ public void stateChanged(ChangeEvent e) { - // FIXME: It seems that this class is not used anywhere + // Not used. } } @@ -506,6 +534,7 @@ public class BasicMenuUI extends BasicMenuItemUI */ public void menuDragMouseExited(MenuDragMouseEvent e) { + // TODO: What should be done here, if anything? } /** @@ -516,6 +545,7 @@ public class BasicMenuUI extends BasicMenuItemUI */ public void menuDragMouseReleased(MenuDragMouseEvent e) { + // TODO: What should be done here, if anything? } } @@ -532,6 +562,7 @@ public class BasicMenuUI extends BasicMenuItemUI */ public void menuKeyPressed(MenuKeyEvent e) { + // TODO: What should be done here, if anything? } /** @@ -541,6 +572,7 @@ public class BasicMenuUI extends BasicMenuItemUI */ public void menuKeyReleased(MenuKeyEvent e) { + // TODO: What should be done here, if anything? } /** @@ -551,6 +583,7 @@ public class BasicMenuUI extends BasicMenuItemUI */ public void menuKeyTyped(MenuKeyEvent e) { + // TODO: What should be done here, if anything? } } } |