Wednesday, November 28, 2012

Re: Textarea KeyUpHandler not working

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.

Cheers

Am Mittwoch, 28. November 2012 08:34:43 UTC+1 schrieb marco:
Hi there,

I'm trying to implement a counter for a textarea. Something like this is working for me

final TextArea textArea = new TextArea();  final Label counter = new Label("Number of characters: 0");  ...      private void addlistener() {          textArea.addKeyUpHandler(new KeyUpHandler() {              public void onKeyUp(KeyUpEvent keyUpEvent) {                counter.setText(" Number of characters:"+textArea.getText().length());              }          });

In my project the TextArea is enhanced e.g. for displaying validation errors.

public class ValidatableTextarea extends ComplexPanel
    private FlowPanel rootPanel;
    protected TextArea input;
    private Label errorLabel;

    @UiConstructor
    public ValidatableTextarea() { 
        input = new TextArea(); 
        rootPanel = new FlowPanel(); 
        rootPanel.add(input); 
        setElement(rootPanel.getElement()); 
    }
    ...
    public void setText(String text) { 
        input.setText(String Text); 
    }

    ...
    public void addKeyUpHandler(KeyUpHandler keyUpHandler) { 
        input.addKeyUpHandler(keyUpHandler); 
    }


My Presenter is calling ValidatableTextarea.addKeyUpHandler onBind but the keyhandler seems not to be added. The same thing happens when I call ValidatableTextarea.setText
My Presenter is a dialog, so when I call those functions in Presenter.open at least ValidatableTextarea.setText is working and the given text is displayed, but there is still no keyUpHandler working.

So is there any magic working I don't see? Any event I can listen to be sure that my ValidatableTextarea is ready to accept my keyUpHandler? Or is my given Handler somehow overwritten?

Thanks in advance,
Marco

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

No comments:

Post a Comment