And*_*lov 6 java gwt gwt-editors
public interface Person {
String getName();
void setName(String name);
List<PersonFriend> getFriends();
}
public interface PersonFriend {
String getName();
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试为以下内容实现一个仅查看编辑器Person:
public class PersonViewEditor extends Composite implements Editor<Person> {
private static PersonViewEditorUiBinder uiBinder = GWT.create(PersonViewEditorUiBinder.class);
interface PersonViewEditorUiBinder extends UiBinder<Widget, PersonViewEditor> {}
@UiField Label nameEditor;
@UiField PersonFriendsViewEditor friendsEditor;
@UiField FancyAnchor editAnchor;
public PersonViewEditor(ClientFactory clientFactory) {
initWidget(uiBinder.createAndBindUi(this));
editAnchor.setPlace(
clientFactory.getPlaceHistoryMapper(),
clientFactory.getPlaceController(),
new EditPersonPlace());
}
}
public class PersonFriendsViewEditor extends Composite {
private static PersonFriendsViewEditorUiBinder uiBinder = GWT.create(PersonFriendsViewEditorUiBinder.class);
interface PersonFriendsViewEditorUiBinder extends UiBinder<Widget, PersonFriendsViewEditor> {}
interface Driver extends SimpleBeanEditorDriver<List<PersonFriend>, ListEditor<PersonFriend, PersonFriendViewEditor>> {}
private class PersonFriendViewEditorSource extends EditorSource<PersonFriendViewEditor> {
@Override
public PersonFriendViewEditor create(int index) {
PersonFriendViewEditor friend = new PersonFriendViewEditor();
containerPanel.insert(friend, index);
return friend;
}
}
@UiField HorizontalPanel containerPanel;
public PersonFriendsViewEditor() {
initWidget(uiBinder.createAndBindUi(this));
Driver driver = GWT.create(Driver.class);
ListEditor<PersonFriend, PersonFriendViewEditor> editor = ListEditor.of(new PersonFriendViewEditorSource());
driver.initialize(editor);
}
}
Run Code Online (Sandbox Code Playgroud)
当我绑定Person对象时PersonViewEditor,friendsEditor永远不会绑定到人的朋友列表.它看起来PersonFriendsViewEditor应该实现一些魔术接口以允许GWT与它交互,但我找不到任何相关的文档.有一个在GWT dynatablerf例子,但他们明确地结合自己的列表编辑,我很好奇绑定它作为"外"对象的一部分,所以我只是绑定Person到PersonViewEditor,它有所有的数据/套所有的部件.
有什么想法吗?
PersonFriendsViewEditor应该实施IsEditor<ListEditor<PersonFriend, PersonFriendViewEditor>>- 解决了问题。
| 归档时间: |
|
| 查看次数: |
3169 次 |
| 最近记录: |