More Swing utilities: JTree COMP204, Bernhard Pfahringer Code snippets taken from Sun’s JTree demo...

6
More Swing utilities: JTree COMP204, Bernhard Pfahringer Code snippets taken from Sun’s JTree demo example

description

Jtree displays tree nodes // node data structure: DefaultMutableTreeNode top = new DefaultMutableTreeNode("The Java Series"); createNodes(top); JTree tree = new JTree(top); tree.addTreeSelectionListener(this);

Transcript of More Swing utilities: JTree COMP204, Bernhard Pfahringer Code snippets taken from Sun’s JTree demo...

Page 1: More Swing utilities: JTree COMP204, Bernhard Pfahringer Code snippets taken from Sun’s JTree demo example.

More Swing utilities: JTree

COMP204, Bernhard Pfahringer

Code snippets taken from Sun’s JTree demo example

Page 2: More Swing utilities: JTree COMP204, Bernhard Pfahringer Code snippets taken from Sun’s JTree demo example.

Displaying/inspecting/modifiedhierarchical data

Page 3: More Swing utilities: JTree COMP204, Bernhard Pfahringer Code snippets taken from Sun’s JTree demo example.

Jtree displays tree nodes// node data structure:

DefaultMutableTreeNode top = new DefaultMutableTreeNode("The Java

Series");createNodes(top);

JTree tree = new JTree(top);

tree.addTreeSelectionListener(this);

Page 4: More Swing utilities: JTree COMP204, Bernhard Pfahringer Code snippets taken from Sun’s JTree demo example.

TreeSelectionListenerpublic void valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode node =

(DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); if (node == null) return; Object nodeInfo = node.getUserObject(); if (node.isLeaf()) { BookInfo book = (BookInfo)nodeInfo; displayURL(book.bookURL); } else { displayURL(helpURL); }}

Page 5: More Swing utilities: JTree COMP204, Bernhard Pfahringer Code snippets taken from Sun’s JTree demo example.

Build up data structureprivate void createNodes(DefaultMutableTreeNode top) { DefaultMutableTreeNode category = null; DefaultMutableTreeNode book = null;

category = new DefaultMutableTreeNode("Books for Java Programmers");

top.add(category); book = new DefaultMutableTreeNode(new BookInfo ("The Java Tutorial: A Short Course on the Basics", "tutorial.html")); category.add(book);

Page 6: More Swing utilities: JTree COMP204, Bernhard Pfahringer Code snippets taken from Sun’s JTree demo example.

Panel nestingTreeDemo extends Jpanel

JScrollPane treeView = new JScrollPane(tree);

htmlPane = new JEditorPane();htmlPane.setEditable(false);JScrollPane htmlView = new JScrollPane(htmlPane);

JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);splitPane.setTopComponent(treeView);splitPane.setBottomComponent(htmlView);splitPane.setDividerLocation(100);add(splitPane);