从其他选项卡添加GWT选项卡
我想从内容区域内向某个选项卡栏添加一个选项卡。内容区域是动态的,因此位于不同的类文件中。我所知道的获取选项卡栏当前状态的唯一方法(不是创建新的选项卡栏对象)是创建一个静态方法和变量来访问该对象。然而,在我得到标签栏后,我在修改标签栏时遇到了问题。我可以调用它内部的函数而不需要太多麻烦,比如检索字符串,但我不能添加选项卡,这正是我需要做的。以下是一般要点: 在一个名为XYZ的类中:从其他选项卡添加GWT选项卡,gwt,Gwt,我想从内容区域内向某个选项卡栏添加一个选项卡。内容区域是动态的,因此位于不同的类文件中。我所知道的获取选项卡栏当前状态的唯一方法(不是创建新的选项卡栏对象)是创建一个静态方法和变量来访问该对象。然而,在我得到标签栏后,我在修改标签栏时遇到了问题。我可以调用它内部的函数而不需要太多麻烦,比如检索字符串,但我不能添加选项卡,这正是我需要做的。以下是一般要点: 在一个名为XYZ的类中: private static MyPersonalTabPanel mypersonalTabPanel; pub
private static MyPersonalTabPanel mypersonalTabPanel;
public XYZ {
myperosonalTabPanel = this;
}
在我的另一个文件中,单击一个按钮,我将触发:
MyPersonalTabPanel.getAppInstance().getXYZTabPanel().add(mywidget, "My Widget");
我可以使用我的函数“getXYZTabPanel()”而没有任何错误,但是当我尝试“添加”时,它只会在白色屏幕上崩溃,没有相关错误。有什么帮助吗?我以前见过项目添加选项卡,但找不到任何通过这样的静态对象进行添加的项目
我在onClick方法中还没有这个,我必须这样做才能访问静态会话变量吗?它基本上是在页面加载时调用的。检查初始化顺序?您需要确保要添加选项卡的XYZ实例是您最近调用“new XYZ()”创建的实例,并且在尝试添加选项卡之前,您需要确保它已被新建 另外,我假设XYZ扩展了MyPersonalTabPanel,这扩展了TabPanel?为了澄清,本准则是否适用于您的情况:
public class MyPersonalTabPanel extends TabPanel {
public static MyPersonalTabPanel instance;
public MyPersonalTabPanel() {
instance = this;
}
}
public class TestClass {
public void createPanel() {
RootPanel.get().add(new MyPersonalTabPanel());
}
public void addTab(Widget widget) {
MyPersonalTabPanel.instance.add(widget, "My Widget");
}
}
确保在addTab(小部件)调用之前调用TestClass的createPanel()。我有点搞不清楚它的意图是什么-是否要找到从另一个类添加选项卡的方法?或者你在问如何使用静态场使其工作?