[Wicket-ja-user 430] LinkTreeの使い方についてご教授ください。

Back to archive index

TADASHI OMOTE tadas****@gmail*****
2010年 3月 18日 (木) 00:40:15 JST


こんにちは。
表(おもて) と言います。

初歩的な質問で恥ずかしいのですが、どなたかにご教授いただければと思い投稿させていただきます。

(質問)
 LinkTreeを使って簡単なメニューを作ろうとしています。
 単純にTreeでメニューを表示させ、クリックで指定画面へ遷移させるだけの簡単なものです。
 「wicket-examples」を参考にして、とりあえずTreeを表示させるところまではできました。
 ソース的には、

 tree = new LinkTree("tree_menu",createTreeModel());
  add(tree);

 で、
 protected TreeModel createTreeModel(){
	List<Object> list01 = new ArrayList<Object>();
	list01.add("Menu1"));
	List<Object> list02 = new ArrayList<Object>();
	list02.add("Menu1-1");
	list02.add("Menu1-2");
	list01.add(list02);
	list01.add("Menu2");
	return convertToTreeModel(list01);
}
private TreeModel convertToTreeModel(List<Object> list){
	TreeModel model = null;
	DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("ROOT");
	add(rootNode, list);
	model = new DefaultTreeModel(rootNode);
	return model;
}
@SuppressWarnings("unchecked")
private void add(DefaultMutableTreeNode parent, List<Object> sub){
	for (Iterator<Object> i = sub.iterator(); i.hasNext();){
		Object o = i.next();
		if (o instanceof List){
			DefaultMutableTreeNode child = new DefaultMutableTreeNode("subtree");
			parent.add(child);
			add(child, (List<Object>)o);
		}else	{
			DefaultMutableTreeNode child = new DefaultMutableTreeNode(o.toString());
			parent.add(child);
	       }
      }
}
のような感じです。( ほとんど・・sampleのまんま・・ですが)
ここで、(o instanceof List) でないNodeに onclick イベントを仕込んで、画面遷移をおこしたいのですが、
どうやればよいのかわからず、はまっています。

よろしくお願いいたします。




Wicket-ja-user メーリングリストの案内
Back to archive index