跳至内容 Java Solaris 社区 Sun 商店 加入 SDN 我的个人档案 加入的益处
 
使用树组件和树节点操作
 
作者:Sherry Zhou 和 Beth Stearns,2006 年 3 月  
Garden Tree 样例应用程序说明了在 Sun Java Studio Creator 2 IDE 中使用树组件时树节点信息的最佳使用方法。您还会了解到如何使用单一方法来处理树节点操作,而不是对每个树节点使用单独的操作方法。本文包含以下主题。
 
目录
 
打开 Garden Tree 应用程序
检查 Garden Tree 应用程序中的组件
设置树节点 Action 属性
 
 
打开 Garden Tree 应用程序
 
  1. 打开应用程序:解压缩项目文件 (GardenTree.zip),然后在 IDE 中打开该项目。
  2. 在“项目”窗口中双击 Page1 主页面,以便使其显示在可视设计器中。您应该看到以下内容:

    图 1 - 可视设计器中的 Page1

         图 1 - 可视设计器中的 Page1
 
检查 Garden Tree 应用程序中的组件
 
该样例应用程序使用以下三个组件:
  • 树 - 可视设计器将显示 "Garden" 树组件以及两个树节点 "Bulbs" 和 "Roses"。"Bulbs" 节点包含两个子节点:"Spring Blubs" 和 "Summer Bulbs"。
  • 图像超级链接,最初设置为不可见。
  • 静态文本。

最初,Garden Tree 样例应用程序装入与其关联的所有图像。在运行时,当用户单击树组件的某个树节点时,图像超级链接组件将显示与该树节点关联的图像(请参见图 2)。静态文本组件将显示图像的名称。在 Garden Tree 应用程序中,图像和文本是各种植物的名称和图片。
当用户单击图像本身时,浏览器将显示 www.dutchgardens.com url。

图 2 - 在浏览器中运行的应用程序

     图 2 - 在浏览器中运行的应用程序
 
设置树节点 Action 属性
 
每个树节点的 action 属性都被设置为相同的方法:treeNode_action。此 treeNode_action 方法是所有树节点共享的通用方法。通过将不同节点的 action 属性设置为相同的方法,可以使所有节点都能够使用该方法。

treeNode_action 方法调用另一个方法 gardenTree.getCookieSelectedTreeNode 以获取选定树节点的客户端标识符。例如,tulip 树节点的客户端标识符是 form1:gardenTree:bulb:springBulb:tuliptreeNode_action 方法使用客户端标识符来获取选定树节点的 TreeNode 对象。该方法随后使用此对象来检索该树节点的组件标识符 tulip(节点的属性表单中显示的标识符)。获取标识符后,该方法将此标识符与 ".jpg" 扩展名连接在一起以设置图像超级链接组件的 imageURL 属性。例如,它将 imageURL 属性设置为 "/resources/"+selectedNode.getId()+".jpg",然后设置静态文本组件。

以下是 treeNode_action 方法的完整代码。

public void treeNode_action(){
	// Make the imageHyperlink component visible
	if ( !plantImageLink.isVisible() )
			plantImageLink.setVisible(true);
	// Get the client id of the currently selected tree node
	String clientId = gardenTree.getCookieSelectedTreeNode();
	String id = clientId.substring(clientId.lastIndexOf(":")+1);
	// Find the tree node component with the given id
	TreeNode selectedNode = (TreeNode) this.getForm1().findComponentById(id);
	// Set current image to that which corresponds to the current node id
	plantImageLink.setImageURL("/resources/"+selectedNode.getId()+".jpg");
	staticText1.setText(selectedNode.getText());
} 

该样例应用程序还使用其自己的图像来定制树节点图像。为了获得最佳结果,该应用程序使用 16x16 大小的图像。有关定制图像和最佳图像大小的详细信息,请参见树节点组件的联机帮助。
 
小结
 
现在,您已经对 Garden Tree 样例应用程序的工作方式有了一定的了解,请尝试在 IDE 中使用该样例应用程序并在浏览器中运行它。您应该会对在自己的应用程序中使用树组件更加充满信心。
 
更多的开发者资源
 
有关为开发者提供的更多技术提示、文章和专家建议,请访问 Sun Developer Network (SDN) 上的 Java Studio Creator 开发者资源,网址为 http://gceclub.sun.com.cn/prodtech/javatools/jscreator/


 
Sherry Zhou 是 Java Studio Creator 小组的一名质量保证工程师,她酷爱花木栽培。
 
Beth Stearns 撰写了许多有关 Java 技术的文章和书籍。最近,她与别人合著了一本有关 J2EE BluePrints 的书籍《Designing Web Services with the J2EE 1.4 Platform》(使用 J2EE 1.4 平台设计 Web 服务)。