"FYI, this isn't specific to Pivot - getResource() is a standard JDK feature"
Yes! =) Well, I'll let the customized ButtonData receive two strings as before. That was working fine. But I'll try to discover the reason of the NPE anyway. Thanks! 2010/12/9 Greg Brown <[email protected]> > OK. It should work, as long as the image is on the class path. Not sure > what the problem might be (FYI, this isn't specific to Pivot - getResource() > is a standard JDK feature). > > > On Dec 8, 2010, at 9:43 PM, Luiz Gustavo wrote: > > I got an error: > > > > java.lang.NullPointerException > at org.apache.pivot.wtk.media.Image$LoadTask.execute(Image.java:97) > at org.apache.pivot.wtk.media.Image.load(Image.java:144) > at org.apache.pivot.demos.memorygame.Main.startup(Main.java:46) > at > org.apache.pivot.wtk.DesktopApplicationContext$2.run(DesktopApplicationContext.java:594) > at > org.apache.pivot.wtk.ApplicationContext$QueuedCallback.run(ApplicationContext.java:1474) > at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) > 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) > > > > 2010/12/9 Greg Brown <[email protected]> > >> 2010/12/8 Greg Brown <[email protected]> >> >>> Ah, I see. You are calling ButtonData#setIcon(String) with that value. >>> That method obtains the location of the image as relative to the classpath, >>> so the leading "/" is required. >>> >> >> When using Pivot 1.5.2 I didn't need the leading "/". Well, I'll use it >> from now =) >> >> >> Yes, that is something that changed in 2.0. >> >> I would probably use the setIcon(Image) version, and define a default >>> Image instance by calling Image.load(). But either way will work. >>> >> >> I tried use the version you suggested, but I got an error >> (MalformedURLException). >> Where am I missing something? See: >> >> >> ... >> private String defaultImage = "/img/default.gif"; >> private Image defaultImg; >> ... >> >> defaultImg = Image.load(new URL(defaultImage)); >> >> >> Try this: >> >> defaultImg = Image.load(getClass().getResource("img/default.gif")); >> >> (no leading slash) >> >> >> > > > -- > Luiz Gustavo S. de Souza > > http://luizgustavoss.wordpress.com > http://luizgustavoss.blogspot.com > http://twitter.com/lugustso > > > -- Luiz Gustavo S. de Souza http://luizgustavoss.wordpress.com http://luizgustavoss.blogspot.com http://twitter.com/lugustso
