Hi Thomas,

thanks for your explanation. I had that setElement(rootPanel.getElement()) 
thing in my mind, but I didn't really got what it does until your 
explanation. Now it makes much sense to me what happened.

Cheers,
Marco

Am Mittwoch, 28. November 2012 14:45:51 UTC+1 schrieb Thomas Broyer:
>
>
>
> On Wednesday, November 28, 2012 1:40:18 PM UTC+1, marco wrote:
>>
>> Ok I fixed it, with the following changes
>>
>> -public class ValidatableTextarea extends ComplexPanel
>> +public class ValidatableTextarea extends FlowPanel
>> -   private FlowPanel rootPanel;
>>     protected TextArea input;
>>     private Label errorLabel;
>>
>>     @UiConstructor 
>>     public ValidatableTextarea() { 
>>         input = new TextArea(); 
>> -       rootPanel = new FlowPanel(); 
>> -       rootPanel.add(input); 
>> +       add(input)
>>
>> -       setElement(rootPanel.getElement()); 
>>     }
>>     ...
>>     public void setText(String text) { 
>>         input.setText(String Text); 
>>     }
>>     ...
>>     public void addKeyUpHandler(KeyUpHandler keyUpHandler) { 
>>         input.addKeyUpHandler(keyUpHandler); 
>>     }
>>
>> Don't know why but it's working now.
>>
>
> I know why: setElement() is only meant to be used when you create your own 
> Widget, not when you extend an existing one. The root of your problem was 
> actually using rootPanel;getElement() as the element for another widget, 
> yet adding widgets to rootPanel (which is never *attached* to the DOM: 
> its element is "physically" attached, by way of the ValidatableTextArea, 
> but the FlowPanel itself is not "logically" attached.
>
> Now, instead of *extending* FlowPanel, you should extend Composite 
> instead, and use a FlowPanel with setWidget (more or less reverting to your 
> previous code, fixing it: ComplexPanel→Composite, setElement→setWidget)
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/vlSS2xPuS5AJ.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to