我一直在使用Java + GAE(1.8.6)+ GWT(2.5.1)开发应用程序,现在,根据我的客户端的要求,我需要创建一个分为两部分的屏幕布局(25%) ,75%),在左侧选项,在屏幕的另外75%,点击选项的结果(如设置为iFrame的屏幕)。
我尝试使用添加了西部和中间面板的DockLayoutPanel,但我无法加载放置在中心面板上西部面板中的每个链接的内容。
我一直在谷歌寻求解决方案或一些代码来适应我的需求,但到目前为止我还没有取得多大成功。
¿你能帮帮我吗?我还买了Manning ed的GWT in Action。但在那里找不到这件事。
与此同时,我将继续四处寻找/试图找到自己的解决方案。
提前谢谢你,
亲切的问候,
答案 0 :(得分:0)
我发现的解决方案是:
//define framedPanel for later use
private FramedPanel fupanel;
//Instantiate the widget i want to add when the option is clicked
final FileUp fileUp = new FileUp();
//Create the HtmlLayoutContainer in which add the widget later on
HtmlLayoutContainer conEnlaces = new HtmlLayoutContainer(getTablaEnlaces());
public Widget asWidget() {
if (fupanel == null) {
fupanel = new FramedPanel();
fupanel.setHeadingText("Administración");
(some other code here)
VerticalLayoutContainer p = new VerticalLayoutContainer();
conEnlaces.setWidth(Window.getClientWidth());
fupanel.add(p);
p.add(conEnlaces);
Hyperlink fileUph = new Hyperlink();
fileUph.setText("- Importación de CSV");
conEnlaces.add(fileUph, new HtmlData(".fileUph"));
filexh.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
conEnlaces.add(filex, new HtmlData(".resultado"));
}
});
fupanel.add(conEnlaces);
}
return fupanel;
}
private native String getTablaEnlaces() /*-{
return [ '<table border="0" cellspacing="0" cellpadding="0">',
'<tr><td>',
'<table border="0" width="75%">',
'<tr><td class=fileUph></td></tr>',
'</table></td>',
'<td><table border="0" style="margin-left: 25px;">',
'<tr><td class=resultado></td></tr>',
'</table>',
'</td></tr></table>'
].join("");
}-*/;
public void onModuleLoad() {
RootPanel.get().add(asWidget());
}
像这样我的问题已经解决了。我向你展示了我的代码,因为我在使用stackoverflow论坛时生气,人们说已经达成了解决方案,但没有解释如何。
感谢您的回复和时间,