summaryrefslogtreecommitdiff
path: root/javax/swing/plaf/basic
diff options
context:
space:
mode:
authorRoman Kennke <roman@kennke.org>2006-10-13 08:51:30 +0000
committerRoman Kennke <roman@kennke.org>2006-10-13 08:51:30 +0000
commit9425b4c40a1bad59a269302340dfed7054ec6248 (patch)
tree565614bb9c2a45433109dc9acfba82dd7f2b2db0 /javax/swing/plaf/basic
parentae70ae65009b1d41884db01757b02e5c9e7770ed (diff)
downloadclasspath-9425b4c40a1bad59a269302340dfed7054ec6248.tar.gz
2006-10-13 Roman Kennke <kennke@aicas.com>
PR 27780 * javax/swing/JMenuItem.java (isDragging): New field. Indicates if we are inside a mouse drag. (createMenuDragMouseEvent): Removed unneeded method. (processMenuDragMouseEvent): Track if we are dragging. (processMouseEvent): Simply forward to processMenuDragMouseEvent(). * javax/swing/plaf/basic/BasicMenuItemUI.java (MenuDragMouseHandler.menuDragMouseDragged): Fetch MenuSelectionManager from event. (MenuDragMouseHandler.menuDragMouseEntered): Fetch MenuSelectionManager from event. (MenuDragMouseHandler.menuDragMouseExited): Fetch MenuSelectionManager from event. (MenuDragMouseHandler.menuDragMouseReleased): Click on mouse release inside menu item, otherwise clear selection. (MenuInputHandler.mouseReleased): Avoid multiple calls to getX() and getY(). Call doClick() rather than the doClick() of JMenuItem. (doClick): Perform an immediate click.
Diffstat (limited to 'javax/swing/plaf/basic')
-rw-r--r--javax/swing/plaf/basic/BasicMenuItemUI.java34
1 files changed, 17 insertions, 17 deletions
diff --git a/javax/swing/plaf/basic/BasicMenuItemUI.java b/javax/swing/plaf/basic/BasicMenuItemUI.java
index 87dce2ef4..5fafb4108 100644
--- a/javax/swing/plaf/basic/BasicMenuItemUI.java
+++ b/javax/swing/plaf/basic/BasicMenuItemUI.java
@@ -364,7 +364,7 @@ public class BasicMenuItemUI extends MenuItemUI
*/
protected void doClick(MenuSelectionManager msm)
{
- menuItem.doClick();
+ menuItem.doClick(0);
msm.clearSelectedPath();
}
@@ -1058,15 +1058,14 @@ public class BasicMenuItemUI extends MenuItemUI
*/
public void mouseReleased(MouseEvent e)
{
- Rectangle size = menuItem.getBounds();
MenuSelectionManager manager = MenuSelectionManager.defaultManager();
- if (e.getX() > 0 && e.getX() < size.width && e.getY() > 0
- && e.getY() < size.height)
+ int x = e.getX();
+ int y = e.getY();
+ if (x > 0 && x < menuItem.getWidth() && y > 0
+ && y < menuItem.getHeight())
{
- manager.clearSelectedPath();
- menuItem.doClick();
+ doClick(manager);
}
-
else
manager.processMouseEvent(e);
}
@@ -1085,7 +1084,7 @@ public class BasicMenuItemUI extends MenuItemUI
*/
public void menuDragMouseDragged(MenuDragMouseEvent e)
{
- MenuSelectionManager manager = MenuSelectionManager.defaultManager();
+ MenuSelectionManager manager = e.getMenuSelectionManager();
manager.setSelectedPath(e.getPath());
}
@@ -1098,7 +1097,7 @@ public class BasicMenuItemUI extends MenuItemUI
*/
public void menuDragMouseEntered(MenuDragMouseEvent e)
{
- MenuSelectionManager manager = MenuSelectionManager.defaultManager();
+ MenuSelectionManager manager = e.getMenuSelectionManager();
manager.setSelectedPath(e.getPath());
}
@@ -1110,7 +1109,7 @@ public class BasicMenuItemUI extends MenuItemUI
*/
public void menuDragMouseExited(MenuDragMouseEvent e)
{
- // TODO: What should be done here, if anything?
+ // Nothing to do here yet.
}
/**
@@ -1122,13 +1121,14 @@ public class BasicMenuItemUI extends MenuItemUI
*/
public void menuDragMouseReleased(MenuDragMouseEvent e)
{
- MenuElement[] path = e.getPath();
-
- if (path[path.length - 1] instanceof JMenuItem)
- ((JMenuItem) path[path.length - 1]).doClick();
-
- MenuSelectionManager manager = MenuSelectionManager.defaultManager();
- manager.clearSelectedPath();
+ MenuSelectionManager manager = e.getMenuSelectionManager();
+ int x = e.getX();
+ int y = e.getY();
+ if (x >= 0 && x < menuItem.getWidth() && y >= 0
+ && y < menuItem.getHeight())
+ doClick(manager);
+ else
+ manager.clearSelectedPath();
}
}