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