私はSmartGWTプロジェクトに取り組んでおり、メインナビゲーションをツリーグリッド経由で実行したいと考えています。ツリーグリッドは適切にレンダリングされ、そのデータソースも適切に機能しています。ツリーグリッドは、mainViewCanvasの左側に正しく配置されています。
私が理解できないのは、NavigationTreeで選択されている内容に基づいてmainViewCanvasのコンテンツを切り替える方法です。既存のキャンバスに新しいウィンドウを追加することで必要な機能を模倣しましたが、キャンバスを完全にクリアして新しいウィンドウに置き換える方法を示す例が見つかりません。
私はここで正しい方向に進んでいますか?私が達成しようとしていることを大まかに示す例を誰かに教えてもらえますか?
public class NavigationTree extends TreeGrid {
public NavigationTree(Canvas mainView)
{
setDataSource(NavigationDataSource.getInstance());
setAutoFetchData(true);
setShowHeader(false);
addNodeClickHandler(new NavClickHandler(mainView));
}
// Handler for clicking an item on the Navigation Tree.
private class NavClickHandler implements NodeClickHandler
{
private Canvas mainView;
public NavClickHandler(Canvas mainView)
{
super();
this.mainView = mainView;
}
@Override
public void onNodeClick(NodeClickEvent event)
{
Window window = new Window();
window.setWidth(300);
window.setHeight(230);
window.setCanDragReposition(true);
window.setCanDragResize(true);
window.setTitle(event.getNode().getAttribute("name"));
window.addItem(new Label("huzzah!"));
window.setParentElement(mainView);
window.redraw();
}
}
}