Java 是否在另一个uiBinder中使用使用uiBinder创建的自定义gwt组件?

Java 是否在另一个uiBinder中使用使用uiBinder创建的自定义gwt组件?,java,gwt,ria,uibinder,gwt-designer,Java,Gwt,Ria,Uibinder,Gwt Designer,我已经用uiBinder创建了一个自定义小部件,我想将它包含在另一个uiBinder布局中 我试过: <!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" xmlns:my=

我已经用uiBinder创建了一个自定义小部件,我想将它包含在另一个uiBinder布局中

我试过:

<!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" xmlns:my="urn:import:net.sti.learning.client.view">
    <ui:style>

    </ui:style>
    <g:HTMLPanel>
        <g:VerticalPanel width="800px">
            <my:PostView ui:field="postView"/>
        </g:VerticalPanel>
    </g:HTMLPanel>
</ui:UiBinder>

但gwt设计师抱怨说:

[错误]无法通过延迟绑定创建“net.sti.learning.client.view.PostView”的实例

编辑:

以下是PostWidget.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>

    </ui:style>
    <g:HTMLPanel width="600px" height="">
        <g:DecoratorPanel width="600px" height="">
            <g:VerticalPanel width="600px" height="">
                <g:HorizontalPanel width="600px" height="30px" verticalAlignment="ALIGN_MIDDLE">
                    <g:Label text="This is the post title" width="500px" height="30px" horizontalAlignment="ALIGN_LEFT" ui:field="postTitle"/>
                    <g:SimplePanel width="100px" height="30px" styleName="dateDiv">
                        <g:DateLabel width="100%" height="100%" horizontalAlignment="ALIGN_RIGHT" ui:field="postDate"/>
                    </g:SimplePanel>
                </g:HorizontalPanel>
                <g:SimplePanel width="600px" height="auto" styleName="postContent">
                    <g:HTML wordWrap="true" width="100%" height="100%" ui:field="postContent">Lorem ipsum dolor sit amet, cursus sapien in vivamus, et ligula luctus eu ut et vitae, mauris ultrices nec. Dictum volutpat mauris sit mattis vestibulum tristique, suspendisse pede aliquam dapibus etiam, occaecati et fusce tempor sit, vel libero adipiscing sed est, non mus. Varius ullamcorper orci ornare parturient ab, risus molestie est magna, felis tempus tortor justo nunc ullamcorper nam. Nulla in vel nunc eu libero, duis nibh fermentum gravida, nullam magna mauris, sem accumsan. Amet sollicitudin mi lectus, lectus malesuada et porta sit, per ipsum blandit, lacinia diam at donec. Sem eget lectus aliquam ac, erat non lectus id illum, tristique et elementum et potenti sed nostra, amet eget. Lectus tincidunt massa dolor, erat nonummy mauris pulvinar aenean mauris.</g:HTML>
                </g:SimplePanel>
                <g:SimplePanel width="600px" height="30px">
                    <g:InlineLabel text="Author" width="100%" height="100%" horizontalAlignment="ALIGN_CENTER" ui:field="postAuthor"/>
                </g:SimplePanel>
            </g:VerticalPanel>
        </g:DecoratorPanel>
    </g:HTMLPanel>
</ui:UiBinder> 

奥雷姆·伊普苏姆·多洛·西特,维瓦摩斯的智慧之神,以及卢库拉·卢库斯·尤特和维塔,毛里斯·乌尔特里斯·内克。这句话的意思是:前庭三叉戟、悬垂足、暂时坐姿、自由度、非肌肉。乌拉姆科佩尔奥纳雷临产ab型、莫莱斯蒂大型猫科动物品种、乌拉姆科佩尔南型猫科动物tempus tortor justo nunc ullamcorper nam型。在欧盟自由贸易区,孕妇发酵液,莫利斯大酒杯,扫描电镜accumsan。根据同侧勃朗迪特(ipsum blandit)和多奈克(donec)的直径,在我的耳垂、耳垂和耳垂上,有一个单独的耳垂。扫描电子显微镜显示的是无光照明、三色照明、元素照明和电位照明。莱克托斯·马萨·多洛(Lectus tincidunt massa dolor),埃拉特·努米·莫里斯·普尔文纳·埃尼安·莫里斯(Eena mauris pulvinar aenean mauris)。
及其关联的java文件:

package net.sti.learning.client.view;

import java.util.Date;

import com.google.gwt.core.client.GWT;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.DateLabel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.InlineLabel;

public class PostWidget extends Composite {

    private static PostWidgetUiBinder uiBinder = GWT
            .create(PostWidgetUiBinder.class);
    @UiField Label postTitle;
    @UiField DateLabel postDate;
    @UiField HTML postContent;
    @UiField InlineLabel postAuthor;

    interface PostWidgetUiBinder extends UiBinder<Widget, PostWidget> {
    }

    public PostWidget() {
        initWidget(uiBinder.createAndBindUi(this));
    }

    public void setData(String title, Date pubDate, String content, String author){
        this.postTitle.setText(title);
        this.postDate.setValue(pubDate);
        SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder();
        safeHtmlBuilder.appendEscapedLines(content);
        SafeHtml safeContent = safeHtmlBuilder.toSafeHtml();
        this.postContent.setHTML(safeContent);
        this.postAuthor.setText(author);
    }

}
package net.sti.learning.client.view;
导入java.util.Date;
导入com.google.gwt.core.client.gwt;
导入com.google.gwt.safehtml.shared.safehtml;
导入com.google.gwt.safehtml.shared.SafeHtmlBuilder;
导入com.google.gwt.uibinder.client.uibinder;
导入com.google.gwt.user.client.ui.Composite;
导入com.google.gwt.user.client.ui.Widget;
导入com.google.gwt.uibinder.client.UiField;
导入com.google.gwt.user.client.ui.Label;
导入com.google.gwt.user.client.ui.DateLabel;
导入com.google.gwt.user.client.ui.HTML;
导入com.google.gwt.user.client.ui.InlineLabel;
公共类PostWidget扩展了复合{
私有静态PostWidgetUiBinder uiBinder=GWT
.create(PostWidgetUiBinder.class);
@UiField标签postTitle;
@UiField日期标签postDate;
@UiField HTML后内容;
@UiField InlineLabel postAuthor;
接口PostWidgetUiBinder扩展了UiBinder{
}
公共PostWidget(){
initWidget(uiBinder.createAndBindUi(this));
}
public void setData(字符串标题、日期pubDate、字符串内容、字符串作者){
this.postTitle.setText(title);
this.postDate.setValue(pubDate);
SafeHtmlBuilder SafeHtmlBuilder=新SafeHtmlBuilder();
safeHtmlBuilder.appendEscapedLines(内容);
SafeHtml safeContent=safeHtmlBuilder.toSafeHtml();
this.postContent.setHTML(安全内容);
this.posauthor.setText(作者);
}
}
以前有人这样做过吗


谢谢

我一直都这么做。如果没有PostView中的代码,很难判断错误来自何处。您可以提供UiBinder模板和Java代码吗?您在xml中使用PostView,但将源代码发布到PostWidget。这可能是错误的,否则它看起来是正确的。噢,嘘…谢谢,我很惭愧我没听清楚!