gpt4 book ai didi

gwt - 将小部件添加到尚不属于 DOM 结构的纯 html

转载 作者:行者123 更新时间:2023-12-04 14:19:18 25 4
gpt4 key购买 nike

好吧,这真的很烦人,因为我确信 GWT 应该支持我想做的事情。我已经问了两次,并且在网上进行了搜索,但就是找不到解决问题的方法。

我想做的是从服务器加载一个文本文件,例如看起来像这样:

<!-- linear_regression.txt -->
<h1>Linear Regression</h1>
Welcome to this chapter. Here, have a graph:
<div id="whatever"></div>
Alright, now have some math stuff:

并放置一个Widget - 在我的例子中是折线图 - 进入 div <div id="whatever"> .我尝试了一些东西..


onSuccess()里面RPC 的方法我想做这样的事情:

public void onSuccess(String result) {

HTMLPanel tmp = new HTMLPanel(result);
Element el = tmp.getElementById("whatever");

el.appendChild(new LineChart().asWidget().getElement());

contentRoot.add(tmp);
}

如果我这样做,我的结果是这样的:

<div id="whatever">
<!-- Here I want the chart to be placed but all I get is this: -->
<div></div>
</div>

另一种方法是这样的:

    HTMLPanel tmp = new HTMLPanel(result);
contentHome.add(tmp);

Element el = RootPanel.get("whatever").getElement();
el.appendChild(new LineChart().asWidget().getElement());

但在这里我得到了一个未捕获的异常:

java.lang.AssertionError: A widget that has an existing parent widget 
may not be added to the detach list
at com.google.gwt.user.client.ui.RootPanel.detachOnWindowClose(RootPanel.java:136)
at com.google.gwt.user.client.ui.RootPanel.get(RootPanel.java:211)
at ew.client.layout.MainLayout$1.onSuccess(MainLayout.java:95)
at ew.client.layout.MainLayout$1.onSuccess(MainLayout.java:1)
...

我真的厌倦了这个问题。有谁知道我该如何解决这个问题?

最佳答案

div 包裹在 HTLMPanel

LineChart lineChart = new LineChart();
HTMLPanel panel = new HTMLPanel(result);
panel.add(lineChart, "whatever");

关于gwt - 将小部件添加到尚不属于 DOM 结构的纯 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15548341/

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