Hi Greg, if i add this whatIsThisMenuItem.setEnabled(false);
after the line whatIsThisMenuItem.setAction(new Action() { ... }); at runtime I get this exception: java.lang.IllegalArgumentException: Button and action enabled states are not consistent. at org.apache.pivot.wtk.Button.setEnabled(Button.java:401) at org.apache.pivot.wtk.Menu$Item.setEnabled(Menu.java:90) at org.apache.pivot.tutorials.menus.ContextMenus$1.configureContextMenu(ContextMenus.java:53) at org.apache.pivot.wtk.ApplicationContext$DisplayHost.processMouseEvent(ApplicationContext.java:858) at java.awt.Component.processEvent(Component.java:6054) at org.apache.pivot.wtk.ApplicationContext$DisplayHost.processEvent(ApplicationContext.java:709) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) note that in my case in my contextual menu now I have added other items (one before this item, and another after, just for example) , so I don't know it it's good to have this exception. But in any case I think that the issue is the following: if I add the same line but just before the setAction, i get no exception, and the related item is selectable and the action is executed ... I see that in the public void perform(Component source) { source is the Menu.Item, but as inspected by the debugger it has enabled = true (and that's strange) ... and probably should be fixed, and the caller of perform should call it only if source is enabled, ok ? Than as a workaround I suggest to check if source is enabled, otherwise do nothing (and maybe close the context menu). What do you think ? Bye, Sandro -- View this message in context: http://apache-pivot-developers.417237.n3.nabble.com/jira-Created-PIVOT-737-TerraTableViewSkin-opens-a-TableViewRowEditor-listening-to-both-mouse-buttons-tp2871532p2899010.html Sent from the Apache Pivot - Developers mailing list archive at Nabble.com.