Hi Anton, Please see https://www.canoo.com/jira/browse/UBA-7323. ULCScrollPane was not handling inherited component menu correctly. This has been fixed in ULC 6.2.1. Kindly upgrade your ULC version to a later or latest release.
Please subscribe to the developer list and post your queries there. Thanks and regards, Janak ----------------------------------------- Janak Mulani email: [EMAIL PROTECTED] url: http://www.canoo.com Beyond AJAX - Java Rich Internet Applications http://www.canoo.com/ulc ----------------------------------------- -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Anton Karmanov Sent: Saturday, June 28, 2008 2:59 PM To: [EMAIL PROTECTED] Subject: [Ulc-info] NullPointerException in UIList I use ULCList and call setInheritsPopupMenu(true) on it. NullPointerException occurs on client side when right mouse button is clicked in the list. ULC 6.2 is used. Please, let me know how to solve this problem. Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException at com.ulcjava.base.client.UIComponent.getComponentPopupMenu(UIComponent.java :149) at com.ulcjava.base.client.UIComponent.getComponentPopupMenu(UIComponent.java :72) at com.ulcjava.base.client.UIList.getComponentPopupMenu(UIList.java:77) at com.ulcjava.base.client.UIComponent.showPopupMenu(UIComponent.java:40) at com.ulcjava.base.client.UIComponent$a_.a(UIComponent$a_.java:4) at com.ulcjava.base.client.UIComponent$a_.mouseReleased(UIComponent$a_.java:8 ) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:232) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231) at java.awt.Component.processMouseEvent(Component.java:5517) at javax.swing.JComponent.processMouseEvent(JComponent.java:3135) at com.ulcjava.base.client.UIList$BasicList.processMouseEvent(UIList.java:21) at java.awt.Component.processEvent(Component.java:5282) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3984) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3819) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1791) at java.awt.Component.dispatchEvent(Component.java:3819) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at com.ulcjava.base.client.FilteringEventQueue.dispatchEvent(FilteringEventQu eue.java:23) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread. java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.ja va:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) To reproduce error, run following program: package test11ulc; import java.util.ArrayList; import java.util.List; import com.ulcjava.base.application.AbstractApplication; import com.ulcjava.base.application.ULCBorderLayoutPane; import com.ulcjava.base.application.ULCButton; import com.ulcjava.base.application.ULCFrame; import com.ulcjava.base.application.ULCList; import com.ulcjava.base.application.ULCMenuItem; import com.ulcjava.base.application.ULCPopupMenu; import com.ulcjava.base.application.ULCScrollPane; import com.ulcjava.base.application.event.IWindowListener; import com.ulcjava.base.application.event.WindowEvent; import com.ulcjava.base.development.DevelopmentRunner; @SuppressWarnings("serial") public class Win extends AbstractApplication { private static final Object SYNC = new Object(); public void start() { ULCPopupMenu menu = new ULCPopupMenu(); menu.add(new ULCMenuItem("Menu")); ULCFrame frame = new ULCFrame("Window"); frame.getContentPane().setComponentPopupMenu(menu); ULCButton button = new ULCButton("Button"); button.setInheritsPopupMenu(true); List<String> itemList = new ArrayList<String>(); for (int i = 0; i < 1000; i++) { itemList.add(Integer.toString(i)); } ULCList list = new ULCList(itemList); ULCScrollPane pane = new ULCScrollPane(list); pane.setInheritsPopupMenu(true); list.setInheritsPopupMenu(true); frame.getContentPane().add(pane, ULCBorderLayoutPane.CENTER); frame.getContentPane().add(button, ULCBorderLayoutPane.SOUTH); frame.setSize(100, 400); frame.setDefaultCloseOperation(ULCFrame.DISPOSE_ON_CLOSE); frame.setLocationRelativeTo(null); frame.addWindowListener(new IWindowListener() { public void windowClosing(WindowEvent arg0) { synchronized (SYNC) { SYNC.notify(); } } }); frame.setVisible(true); } public static void main(String[] args) throws Exception { System.out.println(Thread.currentThread().getStackTrace()[2]); DevelopmentRunner.setApplicationClass(Win.class); DevelopmentRunner.main(args); synchronized (SYNC) { SYNC.wait(); } DevelopmentRunner.getClientSession().sendStopApplicationAndWait(); } } Best Regards, Anton Karmanov Mirasoft Group _______________________________________________ ULC-developer mailing list [email protected] http://lists.canoo.com/mailman/listinfo/ulc-developer
