目录
打开 Garden Tree 应用程序
检查 Garden Tree 应用程序中的组件 该样例应用程序使用以下三个组件:
最初,Garden Tree 样例应用程序装入与其关联的所有图像。在运行时,当用户单击树组件的某个树节点时,图像超级链接组件将显示与该树节点关联的图像(请参见图 2)。静态文本组件将显示图像的名称。在 Garden Tree 应用程序中,图像和文本是各种植物的名称和图片。 当用户单击图像本身时,浏览器将显示 www.dutchgardens.com url。 图 2 - 在浏览器中运行的应用程序 设置树节点 Action 属性 每个树节点的 action 属性都被设置为相同的方法:treeNode_action。此 treeNode_action 方法是所有树节点共享的通用方法。通过将不同节点的 action 属性设置为相同的方法,可以使所有节点都能够使用该方法。 treeNode_action 方法调用另一个方法 gardenTree.getCookieSelectedTreeNode 以获取选定树节点的客户端标识符。例如,tulip 树节点的客户端标识符是 form1:gardenTree:bulb:springBulb:tulip。treeNode_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/。 |
| ||||||||||||||||||||||
|
| ||||||||||||