我是 smartGWT 的新手。我在以下链接中看到了一个教程 http://www.javacodegeeks.com/2011/01/advanced-smartgwt-tutorial-part-2.html
这里有两个类,一个是主区域,另一个是导航区域。导航区域包含树节点。当我单击树节点时,它会显示一个弹出窗口,但我想创建一个带有节点单击事件的选项卡。
我尝试了以下方式,但没有奏效。我认为它添加了选项卡,因为主区域已经加载它没有任何效果
主要区域类具有以下代码:
public class MainArea extends SectionStack {
final TabSet topTabSet = new TabSet();
public static MainArea mainareaobj;
public static MainArea getInstance()
{
if(mainareaobj==null)
{
mainareaobj=new MainArea();
}
return mainareaobj;
}
public MainArea() {
super();
this.setOverflow(Overflow.AUTO);
topTabSet.setTabBarPosition(Side.TOP);
topTabSet.setTabBarAlign(Side.LEFT);
SectionStackSection section2 = new SectionStackSection("TabSection2");
section2.setExpanded(true);
section2.addItem(topTabSet);
this.addSection(section2);
}
以下代码是导航网格
public class NavigationTreeGrid extends TreeGrid {
public String scenario_Name;
public Tab scenarioTab;
MainArea obj=MainArea.getInstance();
public NavigationTreeGrid() {
setShowOpenIcons(false);
setShowDropIcons(false);
setShowSelectedStyle(true);
setShowPartialSelection(true);
setCascadeSelection(false);
setCanSort(false);
setShowConnectors(true);
setShowHeader(false);
setLoadDataOnDemand(false);
setSelectionType(SelectionStyle.SINGLE);
Tree data = new Tree();
data.setModelType(TreeModelType.CHILDREN);
data.setRoot(
new TreeNode("root",
new TreeNode("rootNode",
new TreeNode("Node1"), new TreeNode("Node2"),new TreeNode("Node3"),new TreeNode("Node4"),new TreeNode("Node5")))
);
setData(data);
addNodeClickHandler(new NodeClickHandler() {
@Override
public void onNodeClick(NodeClickEvent event) {
scenario_Name = event.getNode().getName();
obj.topTabSet.addTab(createTab(scenario_Name));
}
});
}
public Tab createTab(String tabName)
{
scenarioTab=new Tab(tabName);
scenarioTab.setCanClose(true);
//scenarioTab.setWidth(300);
return scenarioTab;
}
任何人都可以帮助我吗