"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

Reply via email to