Simple Property Binding not Update view even triggered from client?

Hi, I am evaluating Vaadin but cannot handle the following problem.

  • I have a simple counterBean which holds only counter field with getter and setters.
  • Then, I create a MethodProperty as follows →
Property<Integer> prop = new MethodProperty<Integer>(counterBean, "counter");
  • I have a textField and a label; both set their propertyDataSource as prop →
textField.setPropertyDataSource(prop);
label.setPropertyDataSource(prop);
  • Finally, following is my counterButton which increment counter by one →
Button counterButton = new Button("Counter Button");
counterButton.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
counterBean.setCounter(counterBean.getCounter() + 1);
System.out.println("label : "+label.getValue());
System.out.println("textField : "+textField.getValue());
}
});

The problem is that the view is not changed (still shows old values), however; console outputs in button click listener prints expected values.
What am i missing? Why is the UI not updated?