我正在尝试使用 a TabLayoutPanel
,当它是我放在页面上的第一件事时,它似乎工作正常,但是当我在按下按钮(例如)之后这样做时,它无法正确显示。例如,如果我做这样的事情它工作正常:
TabLayoutPanel tlp = new TabLayoutPanel(2.5, Style.Unit.EM);
tlp.add(new HTML("Tab1"), "Tab 1 title");
tlp.add(new HTML("Tab2"), "Tab 2 title");
tlp.add(new HTML("Tab3"), "Tab 3 title");
tlp.setPixelSize(500, 400);
RootLayoutPanel.get().add(tlp);
但是,如果我执行以下操作,当我单击按钮时,我看到的只是“Tab1”,没有其他选项卡,没有“Tab 1 标题”等:
HorizontalPanel hp = new HorizontalPanel();
Button btn = new Button("push");
TabLayoutPanel tlp = new TabLayoutPanel(2.5, Style.Unit.EM);
hp.add(btn);
tlp.add(new HTML("Tab1"), "Tab 1 title");
tlp.add(new HTML("Tab2"), "Tab 2 title");
tlp.add(new HTML("Tab3"), "Tab 3 title");
tlp.setPixelSize(500, 400);
RootLayoutPanel.get().add(tlp);
btn.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
RootLayoutPanel.get().remove(hp);
RootLayoutPanel.get().add(tlp);
}
});
有任何想法吗?我在某处读到我正在使用的 IE8 中存在问题TabLayoutPanel
,但由于在第一种情况下显示正常,我怀疑这是问题所在。我想看看 Chrome 和 Firefox 会发生什么,但花了几个小时努力在这些浏览器上安装 GWT 开发人员插件,但没有任何运气。
我正在尝试做的事情有什么本质上的错误吗?有人看到我的代码有问题吗?谁能建议如何调试这个?