标签: uibinder

HTMLPanel上的GWT UiHandler

我正在编写一个带有以下标记的小部件:

<g:HTMLPanel ui:field="shortcutPanel" styleName="{style.shortcut}">
    <g:Image ui:field="shortcutImage"></g:Image>
    <span ui:field="shortcutLabel"></span>
</g:HTMLPanel>
Run Code Online (Sandbox Code Playgroud)

所以基本上是一个包装和图像和标签的div.现在,我不想在图像/跨度上添加事件处理程序,而是希望将onClick与HTMLPanel相关联.然而,我的问题是gwt告诉我

shortcutPanel没有关联的addClickHandler方法

所以我假设不同的是HTMLPanel没有实现HasClickHandlers或沿着那条线.我想知道将点击处理程序附加到诸如HTMLPanel之类的Ui元素的标准方法是什么,甚至更好,是否有这样的GWT Widget本质上是一个div包装器,我可以轻松地将事件附加到@UiHandler注解.

gwt event-handling uibinder

6
推荐指数
2
解决办法
1万
查看次数

如何组合多个基于uiBinder的小部件?

我需要在一个特定的位置插入一个[基于uiBinder的小部件]到另一个小部件.插入的小部件有一个有点复杂的布局,所以我试图用HTML定义它.

referencePanel.add(...)因java.lang.IllegalStateException而失败:此小部件的父级未实现HasWidgets.不知道哪个小部件的父级不满意 - innerPanel或referencePanel.

如果将ReferenceUI对象添加到RootPanel,然后将其添加到页面底部.但如果它首先添加到RootPanel,那么在添加到referencePanel时会出现JavaScriptException Code 3(HIERARCHY_REQUEST_ERR).

有什么建议?

public class AppUIDemo extends Composite {
    @UiTemplate("AppUIDemo.ui.xml")
    interface AppUIDemoUiBinder extends UiBinder<Widget, AppUIDemo> {
    }

    @UiTemplate("ReferenceUI.ui.xml")
    interface ReferenceUIUiBinder extends
            UiBinder<Widget, ReferenceUI> {
    }

    private static AppUIDemoUiBinder uiBinder = GWT
            .create(AppUIDemoUiBinder.class);
    private static ReferenceUIUiBinder refUIBinder = GWT
            .create(ReferenceUIUiBinder.class);

    @UiField
    FlowPanel referencePanel;

    public AppUIDemo() {
            initWidget(uiBinder.createAndBindUi(this));
            ReferenceUI reference = new ReferenceUI(refUIBinder);

            HTMLPanel innerPanel = reference.getRefPanel();
            innerPanel.getElement().setId(HTMLPanel.createUniqueId());
            referencePanel.add(innerPanel);
        }
}
Run Code Online (Sandbox Code Playgroud)

 

public class ReferenceUI extends Composite {

    interface ReferenceUIUiBinder extends
            UiBinder<Widget,ReferenceUI> {
    }

    private static ReferenceUIUiBinder …
Run Code Online (Sandbox Code Playgroud)

java xml gwt widget uibinder

6
推荐指数
1
解决办法
1万
查看次数

将uibinder与SmartGWT配合使用?

可以将UiBinder与SmartGWT一起使用吗?我听说目前这是不可能的,尽管有努力缩小差距.这些努力如何?他们取得了成功吗?

此外,如果SmartGWT还不是UiBinder友好的,那么还有其他任何GWT库吗?也许是ext-GWT?

gwt smartgwt uibinder

6
推荐指数
1
解决办法
1890
查看次数

如何在GWT应用程序中实现i18n?

我有国际化的问题.我正在尝试在我的GWT应用程序中实现支持两种语言.不幸的是,在UiBinder的帮助下,我从来没有找到一个完整的例子.这就是我做的:

我的模块I18nexample.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='i18nexample'>
<inherits name="com.google.gwt.user.User" />
<inherits name='com.google.gwt.user.theme.clean.Clean' />
<inherits name="com.google.gwt.i18n.I18N" />
<inherits name="com.google.gwt.i18n.CldrLocales" />
<entry-point class='com.myexample.i18nexample.client.ExampleI18N' />
<servlet path="/start" class="com.myexample.i18nexample.server.StartServiceImpl" />
    <extend-property name="locale" values="en, fr" />
    <set-property-fallback name="locale" value="en" />
</module>
Run Code Online (Sandbox Code Playgroud)

我的界面Message.java:

package com.myexample.i18nexample.client;

import com.google.gwt.i18n.client.Constants;

public interface Message extends Constants {

    String greeting();
}
Run Code Online (Sandbox Code Playgroud)

同一个包com.myexample.i18nexample.client有三个属性文件:

Message.properties:

greeting = hello
Run Code Online (Sandbox Code Playgroud)

Message_en.properties:

greeting = hello
Run Code Online (Sandbox Code Playgroud)

Message_fr.properties:

greeting = bonjour
Run Code Online (Sandbox Code Playgroud)

我的UiBinder文件Greeting.ui.xml:

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder …
Run Code Online (Sandbox Code Playgroud)

gwt internationalization uibinder gwt2

6
推荐指数
1
解决办法
7835
查看次数

你如何使用&nbsp; 在GWT UiBinder XML中?你能逃脱吗?

在我的标记中,我想在元素之间添加一个空格( ),而不必总是使用CSS来完成.如果我把  在我的标记中,GWT会抛出错误.有办法解决吗?

例如:

<g:Label>One&nbsp;</g:Label><g:Label>Two</g:Label>
Run Code Online (Sandbox Code Playgroud)

应该显示:

One Two
Run Code Online (Sandbox Code Playgroud)

并不是:

OneTwo
Run Code Online (Sandbox Code Playgroud)

gwt escaping uibinder

6
推荐指数
1
解决办法
2116
查看次数

如何在GWT中的UiBinder中将"多个css类"添加到1个元素中?

我需要在GWT中的UiBinder中将许多单独的CSS类应用到1个元素中,但不知道如何操作.

在我的TestView.ui.xml中,我有

<g:Button  text="Log Out"  ui:field="logoutButton" addStyleNames="{style.gwt-Button}" addStyleNames="{style.paddedRight}" />
Run Code Online (Sandbox Code Playgroud)

但它产生了运行时错误.

然后我试了一下

<g:Button  text="Log Out"  ui:field="logoutButton" addStyleNames="{style.gwt-Button style.paddedRight}" />
Run Code Online (Sandbox Code Playgroud)

这次我得到编译时错误.

那么,如何在GWT中的UiBinder中将1个元素addStyleNames"Multiple css classes"?

在互联网上找不到信息.

css gwt uibinder gwtp

6
推荐指数
1
解决办法
7358
查看次数

GWT - 如何在uibinder xml文件中定义布局层次结构外的窗口小部件

这是我的第一篇文章.我希望有人可以帮助我.
我正在寻找一种方法来分别在UiBinder XML布局文件中定义一个小部件,而不是布局层次结构的一部分.这是一个小例子:

<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">

<g:Label ui:field="testlabel" text="Hallo" />
<g:HTMLPanel>       
...
</g:HTMLPanel>
Run Code Online (Sandbox Code Playgroud)

编译失败,因为ui:UiBinder元素只需要一个子元素.
在Java Code中,我将照常访问和绑定Label小部件:

@UiField Label testlabel;
Run Code Online (Sandbox Code Playgroud)

例如,当您定义Grid或FlexTable时,这可能很有用 - 我想在XML布局文件中定义表头的标签,而不是在代码中以编程方式定义.

提前谢谢了

gwt uibinder

5
推荐指数
1
解决办法
3980
查看次数

GWT"CSS属性上下文中带变量的模板"警告不好?

我使用混淆的风格,例如.

    <ui:style>
        .explanation {
            text-align: center;
        }
    </ui:style>
...
    <g:HTMLPanel>
        <div class="{style.explanation}">
...
Run Code Online (Sandbox Code Playgroud)

这是不好的做法吗?

当我查看HTML时看起来没问题,或者我误解了警告..

我在GWT的开发模式中收到以下警告:

Template with variable in CSS attribute context: 
The template code generator cannot guarantee HTML-safety of the template
 -- please inspect manually or use SafeStyles to specify arguments in a CSS attribute context
Run Code Online (Sandbox Code Playgroud)

css gwt uibinder

5
推荐指数
1
解决办法
2654
查看次数

自定义类的GWT延迟绑定失败:在urn:import中没有匹配"..."的类:

我正在开发一些我希望能够与UiBinder一起使用的自定义小部件.不幸的是,我继续浪费我的生命,追逐以下错误:

在urn中没有匹配"..."的类:import:...

这似乎是在类中有任何阻止GWT编译器处理它的错误时抛出的全部异常.这包括类的整个依赖关系树中的任何内容.

为了节省我自己和遇到同一问题的任何人一些时间和痛苦,让我们在这里列出一个最意想不到的,很难找到原因的列表.我将从我的最新版开始,这让我决定在这里发布.

gwt class matching uibinder

5
推荐指数
1
解决办法
1552
查看次数

如何使FlowPanel像VerticalPanel一样垂直流动它的子节点?

由于VerticalPanel在标准模式下无法正常工作(http://www.gwtproject.org/doc/latest/DevGuideUiPanels.html),因此Google建议使用FlowPanel替换VerticalPanel .

myflowPanel.getElement().getStyle().setFloat(Float.NONE);
Run Code Online (Sandbox Code Playgroud)

不起作用

那么如何使FlowPanel像VerticalPanel一样垂直流动它的子节点?

gwt uibinder gwtp

5
推荐指数
1
解决办法
7851
查看次数