私はGWTが初めてです。大学のプロジェクトとして、単純な GWT フォーラムを始めたところです。UiBinder の動作に問題があります。コードを表示することが私の問題を説明する最良の方法だと思います。
Header.ui.xml
<g:DockLayoutPanel>
<g:west size="5">
<g:Label ui:field="forumTitle"/>
</g:west>
</g:DockLayoutPanel>
Header.java
package com.project.gwtforum.client.widgets;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
public class Header extends Composite{
private static HeaderUiBinder uiBinder = GWT.create(HeaderUiBinder.class);
interface HeaderUiBinder extends UiBinder<Widget, Header> {
}
public Header() {
initWidget(uiBinder.createAndBindUi(this));
}
@UiField
Label forumTitle;
public Label getForumTitle() {
return forumTitle;
}
}
GWTForum.html
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link type="text/css" rel="stylesheet" href="GWTForum.css">
<script type="text/javascript" language="javascript" src="gwtforum/gwtforum.nocache.js"></script>
</head>
<body>
<div id="header"></div>
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
</body>
</html>
GWTForum.css
h1 {
font-size: 2em;
font-weight: bold;
color: #777777;
margin: 40px 0px 70px;
text-align: left;
}
GWTForum.java
package com.project.gwtforum.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.RootPanel;
import com.project.gwtforum.client.widgets.Header;
public class GWTForum implements EntryPoint{
private GWTForumConstants constants = GWT.create(GWTForumConstants.class);
private Header headerWidget = new Header();
@Override
public void onModuleLoad() {
initializeLayout();
}
private void initializeLayout() {
RootPanel.get("header").add(headerWidget);
Window.setTitle(constants.windowTitle());
headerWidget.getForumTitle().setText(constants.windowTitle());
headerWidget.getForumTitle().setStyleName("h1");
}
}
問題は、プロジェクトをコンパイルするときにブラウザーに何も表示されないことです。アプリケーションをデバッグすると、RootPanel が変更されていることがわかります。その中のコードは正しかったのですが、ブラウザーには何も表示されません。Firebug には、Label などの「header」div も表示されますが、何も表示されません。Firefox の「ソース コードを表示」の「ヘッダー」div には何もありません。私が間違っていることは何ですか?