You can use TextChangeListener. For instance:
final TextField tf = new TextField("My Eventful Field");
tf.setValue("Initial content");
tf.setMaxLength(20);
final Label counter = new Label();
counter.setValue(tf.getValue().length() +
" of " + tf.getMaxLength());
tf.addTextChangeListener(new TextChangeListener() {
public void textChange(TextChangeEvent event) {
int len = event.getText().length();
counter.setValue(len + " of " + tf.getMaxLength());
}
});
tf.setTextChangeEventMode(TextChangeEventMode.LAZY);
source
share