package com.vaadin.tests.components.textfield;
import com.vaadin.event.FieldEvents.BlurEvent;
import com.vaadin.event.FieldEvents.BlurListener;
import com.vaadin.event.FieldEvents.FocusEvent;
import com.vaadin.event.FieldEvents.FocusListener;
import com.vaadin.tests.components.TestBase;
import com.vaadin.tests.util.Log;
import com.vaadin.ui.TextField;
public class TextFieldFocusAndBlurListeners extends TestBase
implements FocusListener, BlurListener {
private Log log = new Log(5).setNumberLogRows(false);
@Override
protected String getDescription() {
return "Tests the focus and blur functionality of TextField";
}
@Override
protected Integer getTicketNumber() {
return 3544;
}
@Override
public void setup() {
addComponent(log);
TextField tf1 = new TextField("TextField 1",
"Has focus and blur listeners");
tf1.setWidth("300px");
tf1.addFocusListener(this);
tf1.addBlurListener(this);
addComponent(tf1);
TextField tf2 = new TextField("TextField 2",
"Has focus, blur and valuechange listeners");
tf2.setWidth("300px");
tf2.addValueChangeListener(l -> valueChange(tf2));
tf2.addFocusListener(this);
tf2.addBlurListener(this);
addComponent(tf2);
TextField tf3 = new TextField("TextField 3",
"Has non-immediate valuechange listener");
tf3.setWidth("300px");
tf3.addValueChangeListener(l -> valueChange(tf3));
addComponent(tf3);
TextField tf4 = new TextField("TextField 4",
"Has immediate valuechange listener");
tf4.setWidth("300px");
tf4.addValueChangeListener(l -> valueChange(tf4));
addComponent(tf4);
}
@Override
public void focus(FocusEvent event) {
log.log(event.getComponent().getCaption() + ": Focus");
}
@Override
public void blur(BlurEvent event) {
TextField tf = (TextField) event.getComponent();
log.log(tf.getCaption() + ": Blur. Value is: "
+ tf.getValue().toString());
}
public void valueChange(TextField source) {
log.log(source.getCaption() + ": ValueChange: "
+ source.getValue().toString());
}
}