gpt4 book ai didi

java - GWT java Widgets 没有出现在指定的 div 上

转载 作者:行者123 更新时间:2023-11-29 03:47:41 26 4
gpt4 key购买 nike

我目前在使用 GWT 和 Eclipse 时遇到问题。在我当前的实现中,当我运行 > 调试为 > web 应用程序时,我的 html 页面上没有任何小部件,即使我正在将它们加载到页面上的 div 中。

在图片中你可以看到我在这个项目上的文件夹组织。 folder organization of project

所有相关文件的代码如下:

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);

有人知道我的代码有什么问题吗?

最佳答案

我没有发现您的 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>

关于java - GWT java Widgets 没有出现在指定的 div 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10121109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com