在你开始拍摄我之前,我已经检查了答案,我用谷歌搜索直到我的手指流血,但我还没有找到一个简单,简洁的答案.所以我再次要求所有那些可能有这个问题的人.
问题:如何打开一个带有formpanel的新窗口.
上下文:我有一个列出很多项目的应用程序,我希望有人编辑一个条目,我想要一个新窗口打开,这样他们就可以编辑属性然后点击保存.您在许多应用程序中找到的标准事物.
架构: 我有一个名为UI的客户端模块,它有十几个类,可以从菜单中选择绘制小部件并填充主区域.我有一个名为UI.html的html页面,其中包含标记.而已.
我见过的选项
调用Window.Open()但您需要定义一个html文件.我没有.我可以创建一个空的但是如何将一个小部件注入其中?
使用jsni $ wnd创建一个新窗口并获取它的引用.但是我如何将表单面板注入其中?
使用popuppanel.它们看起来很糟糕 - 如果通过JS打开一个窗口非常简单,我希望它在gwt中.
也许我很想知道如何使用GWT我不知道.
任何帮助,将不胜感激
谢谢
Pri*_*mus 12
我让它工作的方式如下:我写了一个jsni方法来打开一个新窗口
public static native BodyElement getBodyElement() /*-{
var win = window.open("", "win", "width=940,height=400,status=1,resizeable=1,scrollbars=1"); // a window object
win.document.open("text/html", "replace");
Run Code Online (Sandbox Code Playgroud)
我在新窗口中添加了一个基本体并返回了body元素
win.document.write("<HTML><HEAD>"+css1+css2+"</HEAD><BODY><div class=\"mainpanel\"><div style=\"width: 100%; height: 54px;\"><div id=\"mainbody\"class=\"mainbody\" style=\"width: 100%;\"></div></div></div></BODY></HTML>");
win.document.close();
win.focus();
return win.document.body;
}-*/;
Run Code Online (Sandbox Code Playgroud)
然后我从我的主java方法调用此方法
BodyElement bdElement = getBodyElement();
Run Code Online (Sandbox Code Playgroud)
然后我将具有许多小部件的面板注入到返回的body元素中
SystemConfiguration config = new SystemConfiguration(); bdElement.getOwnerDocument().getElementById("mainbody").appendChild(config.getElement());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13872 次 |
| 最近记录: |