一次只显示一个面板

时间:2013-01-26 20:21:33

标签: gwt panel gwt-designer

我想让两个面板中的一个在给定时间在屏幕上的同一位置可见。也许我可以使用DeckPanel但是在设计器中我无法编辑隐藏的那个。也许你可以推荐一种技术?

我找到了一个有效的解决方案,但不是很好的恕我直言。 IE浏览器。在代码中我插入了我想要显示的面板,并删除了我不希望看到的面板(来自包含面板)。

3 个答案:

答案 0 :(得分:0)

只需将两个面板放在另一个面板中,然后设置其可见性。

Panel mainPanel = new Panel();
Panel subPanel1 = new Panel();
Panel subPanel2 = new Panel();

mainPanel.add(subPanel1);
mainPanel.add(subPanel2);

subPanel1.setVisible(true);
subPanel2.setVisible(false);

然后当你想看到面板2时,你就是这样做的:

subPanel1.setVisible(false);
subPanel2.setVisible(true);

答案 1 :(得分:0)

如果你想以“正确”的方式做到这一点,我建议调查GWT团队所在的MVP模式是suggesting for maintaining large-ish GWT application

查看可能的实施方式:mvp4ggwt-platform。他们会照顾你切换视图,以及保持历史记录(后退/前进按钮可以正常工作)等等。

答案 2 :(得分:0)

您可以选择Tablayoutpanel无需维护自己的代码。