TextChangeListener je listener pro TextChangeEvent, která vznikne, když uživatel edituje textový obsah pole (nejčastěji psaním textu z klávesnice či vložení textu do textového pole). V následujícím příkladu vytvoříme dvě textová pole a prvnímu dáme TextChangeListener s tím, že hodnota vepsaná do prvního textového pole se změní na velká písmena a zobrazí v druhém textovém poli.
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
TextField tf1 = new TextField("First");
TextField tf2 = new TextField("Second");
tf1.addTextChangeListener(new TextChangeListener() {
@Override
public void textChange(TextChangeEvent event) {
tf2.setValue(event.getText().toUpperCase());
}
});
layout.addComponents(tf1, tf2);
V Javě 8 je možný tento zápis:
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
TextField tf1 = new TextField("First");
TextField tf2 = new TextField("Second");
tf1.addTextChangeListener(event -> {
tf2.setValue(getValue(event.getText().toUpperCase()));
});
layout.addComponents(tf1, tf2);
Výsledek
