Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gwt查询不';我不能为我的MVP工作。_Gwt_User Interface_Gwtquery - Fatal编程技术网

Gwt查询不';我不能为我的MVP工作。

Gwt查询不';我不能为我的MVP工作。,gwt,user-interface,gwtquery,Gwt,User Interface,Gwtquery,几个月前我潜入了gwt世界,现在我正在尝试使用gwt查询库。 我遵循了本教程: 因为我在Modle View Presenter中工作,所以我尝试在我的视图(绑定到..View.ui.xml)中实现上面的教程,但它似乎有效 我尝试创建一个标签,然后运行代码: 列出所有gwtlabel=$(“.gwt Label”).widgets() 但它什么也不选 我想我必须指出我希望qwtQuery在哪里搜索小部件(指向我的特定ui.xml文件) 我做错了什么 提前谢谢。下面是我的演示者+视图+xml的代码

几个月前我潜入了gwt世界,现在我正在尝试使用gwt查询库。 我遵循了本教程: 因为我在Modle View Presenter中工作,所以我尝试在我的视图(绑定到..View.ui.xml)中实现上面的教程,但它似乎有效

我尝试创建一个标签,然后运行代码:

列出所有gwtlabel=$(“.gwt Label”).widgets()

但它什么也不选

我想我必须指出我希望qwtQuery在哪里搜索小部件(指向我的特定ui.xml文件)

我做错了什么

提前谢谢。下面是我的演示者+视图+xml的代码:

//================================Presenter=================================:

public class QueryPresenter extends
        Presenter<QueryPresenter.MyView, QueryPresenter.MyProxy> {

    public interface MyView extends View {
    }

    @ProxyCodeSplit
    @NameToken(NameTokens.query)
    public interface MyProxy extends ProxyPlace<QueryPresenter> {
    }

    @Inject
    public QueryPresenter(final EventBus eventBus, final MyView view,
            final MyProxy proxy) {
        super(eventBus, view, proxy);
    }

    @Override
    protected void revealInParent() {
        RevealRootContentEvent.fire(this, this);
    }

    @Override
    protected void onBind() {
        super.onBind();
    }
}

//====================================View============================================:

public class QueryView extends ViewImpl implements QueryPresenter.MyView {

    private final Widget widget;

    public interface Binder extends UiBinder<Widget, QueryView> {
    }

    @Inject
    public QueryView(final Binder binder) {
        widget = binder.createAndBindUi(this);

        List<Widget> allGwtLabels = $(".gwt-Label").widgets(); //Doesn't Work!!


        //Also doesn't work!!
        Label label = new Label("Click on me and I will disappear");
        $(label).click(new Function() {
            @Override
            public void f(Widget w) {
                //fade out the label
                $(w).fadeOut(1000);
            }
        });
        _html.add(label);
        //retrieve all attached gwt labels



    }

    @Override
    public Widget asWidget() {
        return widget;
    }
    @UiField Label _label;
    @UiField HTMLPanel _html;
}

//==================xml file===============================

<!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:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
    ui:generateKeys='com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator'
    ui:generateLocales='default'>

    <g:HTMLPanel ui:field="_html">
        <script type="text/javascript" language="javascript" src="gquerytest/gquerytest.nocache.js"></script>

    <g:Label text="hey" ui:field="_label"/>
    </g:HTMLPanel>
</ui:UiBinder>
/===========================================================================================================================================================================================================================================================================================================================================================================
公共类QueryPresenter扩展
演讲者{
公共接口MyView扩展了视图{
}
@ProxyCodeSplit
@NameToken(NameTokens.query)
公共接口MyProxy扩展了ProxyPlace{
}
@注入
公共查询呈现程序(最终事件总线、最终MyView视图、,
最终MyProxy(代理){
超级(事件总线、视图、代理);
}
@凌驾
受保护的无效父对象(){
RevealRootContentEvent.fire(这个,这个);
}
@凌驾
受保护的void onBind(){
super.onBind();
}
}
//============================================================================================================================================================================
公共类QueryView扩展ViewImpl实现QueryPresenter.MyView{
私有最终小部件;
公共接口绑定器扩展了UiBinder{
}
@注入
公共查询视图(最终活页夹){
widget=binder.createAndBindUi(这个);
列出所有gwtlabel=$(“.gwt Label”).widgets();//不起作用!!
//也不行!!
标签=新标签(“单击我,我将消失”);
$(标签)。单击(新建函数(){
@凌驾
公共空间f(窗口小部件w){
//淡出标签
$(w).衰减(1000);
}
});
_html.add(标签);
//检索所有附加的gwt标签
}
@凌驾
公共小部件asWidget(){
返回控件;
}
@UiField标签_标签;
@UiField HTMLPanel html;
}
//======================xml文件===============================

尝试:列出所有gwtlabel=$(“.gwt标签”,widget).widgets()


您必须指定元素的容器,因为当您尝试查询元素时,这些元素没有附加到dom。

谢谢。它适用于列表allGwtLabels=$(“.gwt Label”,widget.widgets();但我仍然无法做到这一点:$(label,_html).click(new Function(){@Override public void f(Widget w){//淡出标签$(w,_html).fadeOut(1000);});我通过使用gwt clickHandler实现了这一点。但它是“干净的”还是我应该保持并尝试使用GQuery click方法来实现这一点?这是有效的:label.addClickHandler(newClickHandler(){@Override public void onClick(ClickEvent事件){$(label.fadeOut(1000);}})_html.add(标签)$单击(new Function(){public void f(){//淡出标签$(label).fadeOut(1000);});应该有用