GWTBootstrap:类型不匹配:无法从org.gwtbootstrap3.client.ui.Button转换为com.google.gwt.user.client.ui.Button

时间:2016-01-20 09:22:02

标签: twitter-bootstrap gwt

我正在尝试使用GWT-Bootstrap,运行项目时出现以下错误:

Type mismatch: cannot convert from org.gwtbootstrap3.client.ui.Button to com.google.gwt.user.client.ui.Button

我的ui.xml看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<!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:b="urn:import:org.gwtbootstrap3.client.ui">

    <ui:with field='res' type='resources.MyResources' />

    <b:Container fluid="true">
        <b:Row>
            <b:Column size="MD_1">
                <g:HTMLPanel addStyleNames="{res.loginCss.maindiv}">
                    <g:VerticalPanel addStyleNames="{res.loginCss.form}">
                        <g:HorizontalPanel addStyleNames="{res.loginCss.formPart}">
                            <g:TextBox ui:field="matrnrTextBox" addStyleNames="{res.loginCss.nameTextBox}" />
                        </g:HorizontalPanel>
                        <g:HorizontalPanel addStyleNames="{res.loginCss.formPart}">
                            <g:PasswordTextBox ui:field="passwordTextBox"
                                addStyleNames="{res.loginCss.passwordTextBox}" />
                        </g:HorizontalPanel>
                        <b:Button text="Block level button" block="true" ui:field="loginButton" />
                                                <!-- <g:Button text="Login" /> --> <!-- ui:field="loginButton" addStyleNames="{res.loginCss.loginButton}" -->
                    </g:VerticalPanel>
                </g:HTMLPanel>
            </b:Column>
        </b:Row>
    </b:Container>
</ui:UiBinder>

它的工作原理如下,但是当我将ui:field属性添加到b:Button元素时,我得到了上面提到的错误。

如何从我的Java类访问b:Button?我是否必须使用按钮的ID直接通过DOM执行此操作?

我正在使用此版本的GWTBootstrap:

        <groupId>org.gwtbootstrap3</groupId>
        <artifactId>gwtbootstrap3</artifactId>
        <version>0.9.2</version>

1 个答案:

答案 0 :(得分:5)

您正在引用您的ui:字段,例如您的java文件中的com.google.gwt.user.client.ui.Button。

@UiField
com.google.gwt.user.client.ui.Button loginButton;

应该是

@UiField
org.gwtbootstrap3.client.ui.Button loginButton;

相反。检查导入部分