final TextField tf = new TextField("Uppercase");
tf.setTextChangeTimeout(1);
getLayout().addComponent(tf);
final Label l = new Label();
getLayout().addComponent(l);
tf.addListener(new TextChangeListener() {
@Override
public void textChange(TextChangeEvent event) {
tf.setValue(event.getText().toUpperCase());
}