home *** CD-ROM | disk | FTP | other *** search
- import com.sun.java.swing.AbstractButton;
- import com.sun.java.swing.ButtonGroup;
- import com.sun.java.swing.JCheckBox;
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JFrame;
- import com.sun.java.swing.JMenu;
- import com.sun.java.swing.JMenuBar;
- import com.sun.java.swing.JMenuItem;
- import com.sun.java.swing.JPanel;
- import com.sun.java.swing.JRadioButton;
- import com.sun.java.swing.JScrollPane;
- import com.sun.java.swing.JTree;
- import com.sun.java.swing.ToolTipManager;
- import com.sun.java.swing.UIManager;
- import com.sun.java.swing.tree.DefaultMutableTreeNode;
- import com.sun.java.swing.tree.DefaultTreeModel;
- import com.sun.java.swing.tree.TreePath;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.Font;
-
- public class SampleTree {
- protected JFrame frame;
- protected JTree tree;
- protected DefaultTreeModel treeModel;
-
- public SampleTree() {
- try {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
- } catch (Exception var5) {
- System.err.println("Error loading L&F: " + var5);
- }
-
- JMenuBar var1 = this.constructMenuBar();
- JPanel var2 = new JPanel(true);
- this.frame = new JFrame("SampleTree");
- this.frame.getContentPane().add("Center", var2);
- this.frame.setJMenuBar(var1);
- this.frame.setBackground(Color.lightGray);
- DefaultMutableTreeNode var3 = this.createNewNode("Root");
- this.treeModel = new SampleTreeModel(var3);
- this.tree = new JTree(this.treeModel);
- ToolTipManager.sharedInstance().registerComponent(this.tree);
- this.tree.setCellRenderer(new SampleTreeCellRenderer());
- this.tree.setRowHeight(-1);
- JScrollPane var4 = new JScrollPane();
- ((JComponent)var4).setPreferredSize(new Dimension(300, 300));
- var4.getViewport().add(this.tree);
- ((Container)var2).setLayout(new BorderLayout());
- ((Container)var2).add("Center", var4);
- ((Container)var2).add("South", this.constructOptionsPanel());
- this.frame.addWindowListener(new SampleTree$1());
- this.frame.pack();
- this.frame.show();
- }
-
- private JPanel constructOptionsPanel() {
- JPanel var2 = new JPanel(false);
- JPanel var3 = new JPanel(false);
- ((Container)var3).setLayout(new BorderLayout());
- ((Container)var2).setLayout(new FlowLayout());
- JCheckBox var1 = new JCheckBox("show handles");
- ((AbstractButton)var1).setSelected(this.tree.getShowsRootHandles());
- ((AbstractButton)var1).addChangeListener(new SampleTree$ShowHandlesChangeListener(this));
- ((Container)var2).add(var1);
- var1 = new JCheckBox("show root");
- ((AbstractButton)var1).setSelected(this.tree.isRootVisible());
- ((AbstractButton)var1).addChangeListener(new SampleTree$ShowRootChangeListener(this));
- ((Container)var2).add(var1);
- var1 = new JCheckBox("editable");
- ((AbstractButton)var1).setSelected(this.tree.isEditable());
- ((AbstractButton)var1).addChangeListener(new SampleTree$TreeEditableChangeListener(this));
- ((JComponent)var1).setToolTipText("Triple click to edit");
- ((Container)var2).add(var1);
- ((Container)var3).add(var2, "North");
- ButtonGroup var4 = new ButtonGroup();
- JPanel var5 = new JPanel(false);
- ((Container)var5).setLayout(new FlowLayout());
- JRadioButton var6 = new JRadioButton("Single");
- ((AbstractButton)var6).addActionListener(new SampleTree$2(this));
- var4.add(var6);
- ((Container)var5).add(var6);
- var6 = new JRadioButton("Contiguous");
- ((AbstractButton)var6).addActionListener(new SampleTree$3(this));
- var4.add(var6);
- ((Container)var5).add(var6);
- var6 = new JRadioButton("Discontiguous");
- ((AbstractButton)var6).addActionListener(new SampleTree$4(this));
- ((AbstractButton)var6).setSelected(true);
- var4.add(var6);
- ((Container)var5).add(var6);
- ((Container)var3).add(var5, "South");
- return var3;
- }
-
- private JMenuBar constructMenuBar() {
- JMenuBar var2 = new JMenuBar();
- JMenu var1 = new JMenu("File");
- var2.add(var1);
- JMenuItem var3 = var1.add(new JMenuItem("Exit"));
- ((AbstractButton)var3).addActionListener(new SampleTree$5());
- var1 = new JMenu("Tree");
- var2.add(var1);
- var3 = var1.add(new JMenuItem("Add"));
- ((AbstractButton)var3).addActionListener(new SampleTree$AddAction(this));
- var3 = var1.add(new JMenuItem("Insert"));
- ((AbstractButton)var3).addActionListener(new SampleTree$InsertAction(this));
- var3 = var1.add(new JMenuItem("Reload"));
- ((AbstractButton)var3).addActionListener(new SampleTree$ReloadAction(this));
- var3 = var1.add(new JMenuItem("Remove"));
- ((AbstractButton)var3).addActionListener(new SampleTree$RemoveAction(this));
- return var2;
- }
-
- protected DefaultMutableTreeNode getSelectedNode() {
- TreePath var1 = this.tree.getSelectionPath();
- return var1 != null ? (DefaultMutableTreeNode)var1.getLastPathComponent() : null;
- }
-
- protected DefaultMutableTreeNode createNewNode(String var1) {
- return new DynamicTreeNode(new SampleData((Font)null, Color.black, var1));
- }
-
- public static void main(String[] var0) {
- new SampleTree();
- }
- }
-