我正在尝试使用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>
答案 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;
相反。检查导入部分