Tree views are used to present nested lists of data that form a hierarchy. A tree view's data is specified just like that of a list view, but any item in the tree data that is itself an instance of org.apache.pivot.collections.List will be treated as a branch in the tree, and the user will be able to expand the branch to see its children.
The following example shows a basic tree view. This example specifies the tree data as the contents of tree_data.bxml. For the purpose of this example, this data is static. A real application could load dynamic data and use a custom renderer to present the raw data straight to the user.
The BXML for this example is shown below:
<Window title="Tree Views" maximized="true" xmlns:bxml="http://pivot.apache.org/bxml" xmlns="org.apache.pivot.wtk"> <Border> <ScrollPane horizontalScrollBarPolicy="fill_to_capacity"> <TreeView> <treeData> <bxml:include src="tree_data.bxml"/> </treeData> </TreeView> </ScrollPane> </Border> </Window>
The BXML that defines the tree data is shown below.
<TreeBranch xmlns="org.apache.pivot.wtk.content"> <TreeBranch text="Activity" icon="/org/apache/pivot/tutorials/folder.png"> <TreeBranch text="Games" icon="/org/apache/pivot/tutorials/folder.png"> <TreeNode text="Foosball" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Ping Pong" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Air Hockey" icon="/org/apache/pivot/tutorials/page_white.png"/> </TreeBranch> <TreeBranch text="Sports" icon="/org/apache/pivot/tutorials/folder.png"> <TreeNode text="Baseball" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Basketball" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Football" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Ice Hockey" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Soccer" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Softball" icon="/org/apache/pivot/tutorials/page_white.png"/> </TreeBranch> <TreeNode text="Camping" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Skiing" icon="/org/apache/pivot/tutorials/page_white.png"/> </TreeBranch> <TreeBranch text="Occasion" icon="/org/apache/pivot/tutorials/folder.png"> <TreeBranch text="Holidays" icon="/org/apache/pivot/tutorials/folder.png"> <TreeNode text="Christmas" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Independence Day" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Labor Day" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="New Year's Day" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="President's Day" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Thanksgiving" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Valentine's Day" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Veteran's Day" icon="/org/apache/pivot/tutorials/page_white.png"/> </TreeBranch> <TreeNode text="Anniversary" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Birthday" icon="/org/apache/pivot/tutorials/page_white.png"/> <TreeNode text="Wedding" icon="/org/apache/pivot/tutorials/page_white.png"/> </TreeBranch> <TreeBranch text="Location" icon="/org/apache/pivot/tutorials/folder.png"> <TreeNode text="Africa" icon="/org/apache/pivot/tutorials/folder.png"/> <TreeNode text="Antarctica" icon="/org/apache/pivot/tutorials/folder.png"/> <TreeNode text="Asia" icon="/org/apache/pivot/tutorials/folder.png"/> <TreeNode text="Australia" icon="/org/apache/pivot/tutorials/folder.png"/> <TreeNode text="Europe" icon="/org/apache/pivot/tutorials/folder.png"/> <TreeNode text="North America" icon="/org/apache/pivot/tutorials/folder.png"/> <TreeBranch text="South America" icon="/org/apache/pivot/tutorials/folder.png"> <TreeNode text="Peru" icon="/org/apache/pivot/tutorials/page_white.png"/> </TreeBranch> </TreeBranch> </TreeBranch>
Since this example is written entirely in BXML, there is no associated Java source.
Next: File Browsing