Привязка свойства компонента к TextField в GXT 3.0 - PullRequest
1 голос
/ 22 февраля 2012

Я работаю над приложением ExtGWT 3.0 (бета).

У меня есть простой Java-бин, содержащий одно свойство:

public class MyBean {
    private String content;

    // getter and setter here...
}

Я хочу связать свойство с TextField.

Я создал интерфейс:

interface MyBeanProperties extends PropertyAccess<MyBean> {
    ValueProvider<MyBean, String> content();
}

Но что дальше?Как я могу сказать TextField привязать это свойство к конкретному MyBean объекту?

1 Ответ

2 голосов
/ 22 февраля 2012

PropertyAccess используется для общей ссылки на свойства объектов, часто для виджетов данных, которые используют Store, такие как сетка или диаграммы. Для привязки формы к bean-компоненту, проверьте структуру редактора GWT на http://code.google.com/webtoolkit/doc/latest/DevGuideUiEditors.html.. Есть несколько примеров для этого с GXT на http://www.sencha.com/examples/#ExamplePlace:basicbinding%28uibinder%29

Грубо говоря, вы создадите виджет формы, который обернет все необходимые вам свойства, и создадите драйвер редактора для этого редактора и его компонента:

public class MyBeanEditor implements Editor<MyBean> {

  // do any kind of widget setup you like, just make sure to have methods/fields
  // package protected or higher that extends Editor (Field extends Editor)

  TextField content;
}

//... declare the driver
interface Driver extends SimpleBeanEditorDriver<MyBean, MyBeanEditor> {}

//... use the driver to bind a form to a bean
Driver driver = GWT.create(Driver.class);
driver.initialize(myBeanEditorInstance);
driver.edit(myBean);

//... when save is clicked (or a timer, or whatever), get the value and do 
//    something with it
MyBean model = driver.flush();
...