Hi Igor,

I understand. I cannot dump all my code here. It is too much.

I will try to give you a runnable code.

Now, I am using iterator() instead of iterator(Comparator) to bypass the
problem.

Thanks,
Valentine


igor.vaynberg wrote:
> 
> i cannot put this into my ide and run it to confirm the error you are
> getting.
> 
> -igor
> 
> On Thu, Nov 27, 2008 at 11:22 AM, Valentine2008
> <[EMAIL PROTECTED]> wrote:
>>
>> The getInputForm() will return an instance of Form class in Wicket.
>> After creating the form,
>> -----------------------
>> // 3. create, setup, and add the input form
>>        inputForm = new Form("inputForm");
>>        inputForm.setOutputMarkupId(true);
>>        add(inputForm);
>> ----------------------------------
>>
>> I added the following to the form:
>> 1. a FeedbackPanel component;
>> 2. a AjaxSubmitLink component;
>> 3. a AjaxLink component;
>> 4. A Button component;
>> 5. Several Label components, some are invisible (Which are in a
>> WebMarkupContainer to control its visibility);
>> 6. Several TextField components;
>> 7. Several DropDownList components, some are invisible (Which are in a
>> WebMarkupContainer to control its visibility);
>> 8. Several ListMultipleChoice components, some are invisible (Which are
>> in a
>> WebMarkupContainer to control its visibility).
>>
>> Thanks.
>>
>>
>> Valentine2008 wrote:
>>>
>>> Hi,
>>>
>>> I wrote the following code to print out all the children of the an input
>>> form.
>>> ---------------------------------------
>>> Iterator iterator = getInputForm().iterator(new Comparator() {
>>>
>>>                 public int compare(Object o1, Object o2)
>>>                 {
>>>                     System.out.format(":::::::::%s, %s%n", o1, o2);
>>>
>>>                     Component component1 = (Component) o1;
>>>                     Component component2 = (Component) o2;
>>>                     return
>>> component1.getId().compareTo(component2.getId());
>>>                 }
>>>             });
>>>
>>>             while(iterator.hasNext())
>>>             {
>>>                 System.out.format("---------------Child of input form:
>>> id=%s%n", ((Component)iterator.next()).getId());
>>>             }
>>> -----------------
>>>
>>> When running, the following error occurs:
>>> -------------------------------------------------------
>>> [27 Nov 2008 10:38:15,325] ERROR [http-8080-6] (RequestCycle.java:1432)
>>> -
>>> org.ap
>>> ache.wicket.RequestCycle [Ljava.lang.Object; cannot be cast to
>>> [Lorg.apache.wick
>>> et.Component;
>>> java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
>>> [Lorg.apache
>>> .wicket.Component;
>>>         at
>>> org.apache.wicket.MarkupContainer.iterator(MarkupContainer.java:478)
>>> .........
>>>
>>> The code on line 478 of MarkupContainer.java is:
>>> sorted = Arrays.asList((Component[])children);
>>>
>>> Is it a bug of Wicket?
>>>
>>> Thanks,
>>> Valentine
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Bug-of-Wicket-when-iterate-the-form-using-iterator%28%29--tp20723903p20724441.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Bug-of-Wicket-when-iterate-the-form-using-iterator%28%29--tp20723903p20724952.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to