pivot-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Brown <gkbr...@mac.com>
Subject Re: TableViewRowEditor and New Records
Date Tue, 15 Sep 2009 21:51:29 GMT
If you don't see this exception consistently, a threading issue is  
certainly a possibility. Are you doing anything in the background, and  
then possibly closing a window when the operation completes?

If you are using threads in your app, you need to make sure that all  
UI operations execute on the event dispatch thread (same as Swing).  
You can do this by passing a Runnable to  
ApplicationContext.queueCallback().

Greg

On Sep 15, 2009, at 5:42 PM, Scott Lanham wrote:

> There is no exception this time but the row editor doesn't appear at  
> all if
> invoked immediately after the new row is inserted.
>
> On Wed, 16 Sep 2009 07:26:48 am Todd Volkert wrote:
>> Very interesting.  The *only* way I could explain this error would  
>> be if a
>> component was mucking with its parent's component collection in the  
>> body of
>> validate().  Can you make the following change locally, re-run your  
>> test,
>> and send us the stack trace:
>>
>> ===================================================================
>> --- wtk/src/org/apache/pivot/wtk/Container.java    (revision 815485)
>> +++ wtk/src/org/apache/pivot/wtk/Container.java    (working copy)
>> @@ -321,8 +321,7 @@
>>             && isVisible()) {
>>             super.validate();
>>
>> -            for (int i = 0, n = components.getLength(); i < n; i+ 
>> +) {
>> -                Component component = components.get(i);
>> +            for (Component component : components) {
>>                 component.validate();
>>             }
>>         }
>>
>> Thanks,
>> -T
>>
>> On Tue, Sep 15, 2009 at 5:08 PM, Scott Lanham <lists@sael.com.au>  
>> wrote:
>>> On Wed, 16 Sep 2009 06:50:51 am Todd Volkert wrote:
>>>> Just following up on this thread, are you all set now Scott with  
>>>> the
>>>
>>> newest
>>>
>>>> code from SVN, or are you still getting an exception?
>>>>
>>>> -T
>>>
>>> Hi Todd,
>>>
>>> I still have the problem of adding a new record to the List bound  
>>> to the
>>> TableView and then immediately invoking TableViewRowEditor on the  
>>> row:
>>>
>>> Exception in thread "AWT-EventQueue-0"
>>> java.lang.IndexOutOfBoundsException at
>>> org.apache.pivot.collections.ArrayList.get(ArrayList.java:358) at
>>> org.apache.pivot.wtk.Container.validate(Container.java:325) at
>>> org.apache.pivot.wtk.Display$ValidateCallback.run(Display.java:30)
>>>        at
>>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
>>>       at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
>>>       at
>>>
>>> java.awt.EventDispatchThread.pumpOneEventForFilters 
>>> (EventDispatchThread.j
>>> ava:269) at
>>>
>>> java.awt.EventDispatchThread.pumpEventsForFilter 
>>> (EventDispatchThread.java
>>> :184) at
>>>
>>> java.awt.EventDispatchThread.pumpEventsForHierarchy 
>>> (EventDispatchThread.j
>>> ava: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)
>


Mime
View raw message