내 개발 요구 사항 때문에 내부에 UiBinders가있는 GWT 셀 목록을 만들어야합니다. 아무도 나에게 그것을하는 방법의 예를 줄 수 있습니까?GWT 셀 목록 Ubinder
나는 gwt의 쇼케이스를보고 있는데 어떤 경우도 동등하지 않습니다.
몹시 많이!
당신은 공식 문서에 살펴 보셔야합니다내 개발 요구 사항 때문에 내부에 UiBinders가있는 GWT 셀 목록을 만들어야합니다. 아무도 나에게 그것을하는 방법의 예를 줄 수 있습니까?GWT 셀 목록 Ubinder
나는 gwt의 쇼케이스를보고 있는데 어떤 경우도 동등하지 않습니다.
몹시 많이!
당신은 공식 문서에 살펴 보셔야합니다당신이, 당신이 ui.xml
템플릿에서 DOM을 생성하는 어떤 것으로 UiBinder
로 생각해야하고, 당신이 사용하는 경우 UiRenderer
당신이 UiRenderer
당신이 UiBinder
를 사용하는 사용 DOM 구조를 직접 "GWT 일반 내용 (예 : <g:Label />
)"대신 html로 설명합니다.
관련 개념이 있습니다.
1) 예, 당신이 그것을 할,하지만 HTML과 CSS를 사용 할 수 있습니다 귀하의 질문에 대해
.
public class YourTypeCell extends AbstractCell<T> {
static interface Renderer extends UiRenderer {
void render(SafeHtmlBuilder sb, String id, String name, String img);
void onBrowserEvent(CommentCell o, NativeEvent e, Element p, T value);
}
private final Renderer renderer;
public YourTypeCell(...) {
super(BrowserEvents.CLICK, BrowserEvents.MOUSEOVER);
....
renderer = GWT.create(Renderer.class);
}
@Override
public void render(Context context, final T item, final SafeHtmlBuilder sb) {
String id = ...;
String img = ...;
String name = ...;
renderer.render(sb, id, name, img);
}
@Override
public void onBrowserEvent(Context context, Element parent,
T value, NativeEvent event, ValueUpdater<T> valueUpdater) {
renderer.onBrowserEvent(this, event, parent, value);
}
@UiHandler({"field1"})
void onMouseOver(MouseOverEvent event, Element parent, T value) {
...
}
@UiHandler({"field2"})
void onReplyComment(ClickEvent event, Element parent, T value) {
...
}
}
는 또한 ui.xml 파일과 같은
: 다음 셀리스트의 예를 소개<!DOCTYPE ui:UiBinder SYSTEM 'http://dl.google.com/gwt/DTD/xhtml.ent'>
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' xmlns:g='urn:import:com.google.gwt.user.client.ui' >
<ui:style>
.clear{
clear:both;
}
.cssOne {
....
}
.cssTwo {
....
}
</ui:style>
<ui:with field="id" type="java.lang.String"/>
<ui:with field="name" type="java.lang.String"/>
<ui:with field="img" type="java.lang.String"/>
<div ui:field='field1' class="{style.cssOne}">
<div ui:field='field2' class="{style.cssTwo}">
<ui:text from='{name}'/>
</div>
<p><ui:safehtml from='{img}'/></p>
</div>
</ui:UiBinder>
당신이 그것을 찾을 수 있습니다 처리기 꽤 쉽게 부착의 방법은, 나는 당신에게 예를 보여 드리겠습니다 CellList
의 생성자 이전 URL과 자바 독에 http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/cellview/client/CellList.html
당신은 두 클래스를 링크 할 수 있습니다 (CellList
및 사용자 정의 셀) :
CellList<T> cellList = new CellList<T>(new YourTypeCell(...));
감사합니다 Apanizo 당신의 대답은 나를 위해 너무 유용하고 내가 원하는 것을 이루었습니다. UiBinders로 작업하면 예쁜 사용자 인터페이스를 만들 수있는 강력한 방법을 제공합니다. –
안녕하세요! 나는 uibinder와 다른 것을하고 싶다. 이전 질문과 관련되어 있기 때문에 여기에 게시하고 다른 사람들에게 유용 할 수 있습니다. 클릭 이벤트를 처리하고 싶었지만 해결되었습니다. 사용자가 field2를 클릭하면 "
GQuery와 관련이 있습니다. 텍스트가 필요하지만 내 메모리를 기반으로 Cell @UiField DivElement field2에 var 만들기; , 그리고 나서 field2의 ClickHandler 안에서 GQuery라면 $ (field2) .html ("pepito");가 작동해야합니다. 그렇지 않으면 알려주세요. – apanizo
[Working with GWT Cell Widgets] (http://www.apptio.com/blog/working-gwt-cell-widgets)을보십시오. – Braj
Braj에게 물어봐 줘서 고마워. 나는 이것을 읽었지만 몇 가지 의구심이있다. 1) UiBinder 대신 UiRenderer를 사용합니다. oni 이벤트 처리기를 사용하여 그림, 일부 문자열 및 3 개의 단추가있는 UiBinder가 필요합니다. 내가 부엉이 우이 렌더러를 얻을 수 있을까? 나는 인터넷에서 많은 것을 읽었지 만 나는 명확한 생각을 얻을 수 없다. 2) 사용 예제에서 CellListExample 클래스에는 CellList를 만드는 코드가 표시되지만 의심 스럽습니다. 이 예제를 사용하려면 어떻게해야합니까? UiBinder로 목록을 작성하여 셀 목록에 표시하는 방법은 무엇입니까? 감사합니다. –