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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.