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

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

我正在尝试使用 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 class 访问 b:Button?我是否必须使用按钮的 id 直接通过 DOM 来完成?

我正在使用这个版本的 GWTBootstrap:

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

您在 java 文件中引用 ui:field 就像 com.google.gwt.user.client.ui.Button 一样。

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

应该是

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

相反。检查导入部分