📄 firsttreepage.java
字号:
/*
* Created on Oct 21, 2004
*
*/
package tapestrytrees;
import org.apache.tapestry.IEngine;
import org.apache.tapestry.contrib.tree.components.TreeView;
import org.apache.tapestry.contrib.tree.model.ITreeDataModel;
import org.apache.tapestry.contrib.tree.model.ITreeModel;
import org.apache.tapestry.contrib.tree.model.ITreeStateListener;
import org.apache.tapestry.contrib.tree.model.TreeStateEvent;
import org.apache.tapestry.contrib.tree.simple.SimpleTreeDataModel;
import org.apache.tapestry.contrib.tree.simple.SimpleTreeModel;
import org.apache.tapestry.contrib.tree.simple.TreeNode;
import org.apache.tapestry.html.BasePage;
/**
* @author John Reynolds
*
*/
public class FirstTreePage extends BasePage implements ITreeStateListener {
private ITreeDataModel treeDataModel;
private ITreeModel treeModel;
private Object value;
public void attach(IEngine value) {
super.attach(value);
}
public void detach() {
super.detach();
treeDataModel = null;
value = null;
}
public ITreeStateListener getTreeStateListener() {
return this;
}
/*
* @see org.apache.tapestry.contrib.tree.model.ITreeStateListener#treeStateChanged(org.apache.tapestry.contrib.tree.model.TreeStateEvent)
*/
public void treeStateChanged(TreeStateEvent objEvent) {
// Get the StringTreeNode object that was selected
TreeView treeView = (TreeView)getComponent("treeView");
if(treeView != null){
ITreeDataModel thisTreeDataModel = treeView.getTreeModel().getTreeDataModel();
Object selectedNode = thisTreeDataModel.getObject(objEvent.getNodeUID());
if(selectedNode instanceof StringTreeNode){
lastNodeSelectedValue = ((StringTreeNode)selectedNode).getValue();
}
} else { // This shouldn't happen
lastNodeSelectedValue = objEvent.getNodeUID().toString();
}
}
String lastNodeSelectedValue;
public String getLastNodeSelectedMsg()
{
if(lastNodeSelectedValue==null){
return null;
}
return lastNodeSelectedValue + " was the last node selected.";
}
ITreeDataModel getTreeDataModel() {
if (treeDataModel == null) {
StringTreeSource firstTreeSource = new StringTreeSource();
treeDataModel = firstTreeSource.getTreeDataModel();
}
return treeDataModel;
}
/**
* Get the TreeModel that contains the nodes to be rendered
*
* @return ITreeModel
*/
public ITreeModel getTreeModel() {
if (treeModel == null) {
System.out.println("creating SimpleTreeModel");
// Create and "connect" all the nodes
TreeNode node1 = new StringTreeNode("Root Node");
TreeNode node2 = new StringTreeNode("Child One");
TreeNode node2a = new StringTreeNode("Grandchild One");
node2.insert(node2a);
node1.insert(node2);
TreeNode node3 = new StringTreeNode("Child Two");
TreeNode node3a = new StringTreeNode("GrandChild Two");
node3.insert(node3a);
TreeNode node3a1 = new StringTreeNode("Great Grandchild One");
node3a.insert(node3a1);
node1.insert(node3);
// Wrap the root node in a SimpleTreeDataModel
treeDataModel = new SimpleTreeDataModel(node1);
// Wrap the SimpleTreeDataModel in a SimpleTreeModel
treeModel = new SimpleTreeModel(treeDataModel);
}
return treeModel;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -