java GWT:TabLayoutPanel崩溃的应用程序
我有一个GWT应用程序,它使用UiBinder使用TabLayoutPanel。我得到的信息如下:
<!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">
<g:TabLayoutPanel ui:field="tabLayoutPanel" barUnit="em" barHeight="3">
<g:tab>
<g:header>Welcome</g:header>
</g:tab>
<g:tab>
<g:header>Login</g:header>
</g:tab>
</g:TabLayoutPanel>
</ui:UiBinder>
视图代码为:
public class MyView extends Composite {
interface MyUiBinder extends UiBinder<Widget, MyView> {}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
@UiField TabLayoutPanel tabLayoutPanel;
public AuthenticateView() {
initWidget(uiBinder.createAndBindUi(this));
}
}
此代码总是因错误而崩溃:
Caused by: java.lang.RuntimeException: Deferred binding failed for 'com.mycompany.MyView' (did you forget to inherit a required module?) at
com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53) at
com.google.gwt.core.shared.GWT.create(GWT.java:57) at
com.google.gwt.core.client.GWT.create(GWT.java:85)
谁能告诉我出了什么问题
我确实通过将其添加到RootLayoutPanel
非常感谢
# 1 楼答案
根据TablayoutPanel文件
这个小部件只能在标准模式下工作,这要求运行它的HTML页面有一个明确的声明
您的
host html page
的DOCTYPE似乎有问题请验证您的主机HTML页面是否只有标准模式的doctype? 尝试更改
<!DOCTYPE html>
并建议example交叉检查和TabPanel
# 2 楼答案
如果包含
MyView
类的包未在*.gwt.xml
中定义为源包(使用source
标记),则可能会出现此错误