1

現在、GWT と Eclipse に問題があります。私の現在の実装では、 > debug as > Web アプリケーションを実行すると、ページの div にウィジェットをロードしているにもかかわらず、HTML ページにウィジェットが表示されません。

写真では、このプロジェクトのフォルダー構成を確認できます。 プロジェクトのフォルダ構成

関連するすべてのファイルのコードは次のとおりです。

Anacom.gwt.xml

<?xml version="1.0" encoding="UTF-8"?>

<module rename-to='AnacomGWT'>

<inherits name='com.google.gwt.user.User' />

<inherits name='com.google.gwt.user.theme.standard.Standard' />

<entry-point class='pt.ist.anacom.presentationserver.client.AnacomGWT' />

<source path='client' />

</module>

AnacomGWT.java

package pt.ist.anacom.presentationserver.client;

import com.google.gwt.core.client.EntryPoint;

public class AnacomGWT implements EntryPoint{

private VerticalPanel mainPanel = new VerticalPanel();

private HorizontalPanel inserePanel = new HorizontalPanel();
private TextBox numBox = new TextBox();
private Button numBtn = new Button();

private HorizontalPanel smsPanel = new HorizontalPanel();
private TextArea smsText = new TextArea();
private TextBox smsBox = new TextBox();
private Button smsBtn = new Button();

private HorizontalPanel saldoPanel = new HorizontalPanel();
private TextBox saldoBox = new TextBox();
private Button saldoBtn = new Button();

private HorizontalPanel modoPanel = new HorizontalPanel();
private Label modoId = new Label();
private Button desligadoBtn = new Button();
private Button ligadoBtn = new Button();
private Button silencioBtn = new Button();
private Button ocupadoBtn = new Button();

@Override
public void onModuleLoad() {

    // Assemble insereBox
    inserePanel.add(numBox);
    inserePanel.add(numBtn);

    //assemble smsPanel
    smsPanel.add(smsText);
    smsPanel.add(smsBox);
    smsPanel.add(smsBtn);

    //assemble saldoPanel
    saldoPanel.add(saldoBox);
    saldoPanel.add(saldoBtn);

    //assemble modoPanel
    modoPanel.add(modoId);
    modoPanel.add(desligadoBtn);
    modoPanel.add(ligadoBtn);
    modoPanel.add(silencioBtn);
    modoPanel.add(ocupadoBtn);

    //assemble mainPanel
    mainPanel.add(inserePanel);
    mainPanel.add(smsPanel);
    mainPanel.add(saldoPanel);
    mainPanel.add(modoPanel);

    RootPanel.get("contents").add(mainPanel);

    numBox.setFocus(true);
}

}

Anacom.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"     "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Anacom</title>
</head>
<body>

<h1>Anacom</h1>
<div id="contents"></div>

</body>
</html>

そして最後に web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<welcome-file-list>
    <welcome-file>Anacom.html</welcome-file>
</welcome-file-list>
 </web-app>

アプリケーションをWebアプリケーションとして実行すると、取得したリンクで、タグでラップされた「ANACOM」のみが表示され、「コンテンツ」に表示されるはずのanacomGWT.javaで定義したパネルは表示されません" div で呼び出しています:

RootPanel.get("contents").add(mainPanel);

私のコードの何が問題なのか誰でも知っていますか?

4

3 に答える 3

4

あなたのhtmlとGWTの間につながりが見つかりませんでした。html ページ (Anacom.html.) で使用される gwt モジュールを指定していません。使用する

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"     "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Anacom</title>
 <script type="text/javascript" language="javascript" src="anacom/anacom.nocache.js"></script>
</head>
<body>

<h1>Anacom</h1>
<div id="contents"></div>

</body>
</html>
于 2012-04-12T10:20:44.583 に答える
0

ブラウザの Javascript のサポートは有効になっていますか?

于 2012-04-12T19:20:27.477 に答える
0

おそらく、要素/パネルの少なくとも 1 つの幅/高さを設定する必要がありますか?

ブラウザーで開発者ツールの 1 つ (IE/chrome ではネイティブ、Fx では Firebug) を試して、DOM で実際に作成される要素を確認してください。これにより、デバッグに関する重要な情報が得られます。

于 2012-04-12T10:12:12.123 に答える