⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtree1.java

📁 一些简单的java程序。老师很认真
💻 JAVA
字号:
package com.test;

package com.test;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.tree.*;
import javax.swing.event.*;

class TestTree extends JFrame implements TreeModelListener{
 
 public TestTree() {
 Container c=getContentPane();
 c.setLayout(new BorderLayout());
 rootNode = new DefaultMutableTreeNode("Root Node");
 treeModel = new DefaultTreeModel(rootNode);
 treeModel.addTreeModelListener(new MyTreeModelListener());

 tree = new JTree(treeModel);
 tree.setEditable(true);
 tree.getSelectionModel().setSelectionMode
         (TreeSelectionModel.SINGLE_TREE_SELECTION);
 tree.setShowsRootHandles(true);
 tree.addTreeExpansionListener(this);
 tree.addTreeWillExpandListener(this);

 DefaultMutableTreeNode dtree=new DefaultMutableTreeNode("文件");
 DefaultMutableTreeNode dtreea=new DefaultMutableTreeNode("我的文件");
 DefaultMutableTreeNode dtreeb=new DefaultMutableTreeNode("你的文件");
 
 DefaultMutableTreeNode dtreea1=new DefaultMutableTreeNode("我的文件1");
 DefaultMutableTreeNode dtreea2=new DefaultMutableTreeNode("我的文件2");
 DefaultMutableTreeNode dtreea3=new DefaultMutableTreeNode("我的文件3");
 
 DefaultMutableTreeNode dtreeb1=new DefaultMutableTreeNode("你的文件1");
 DefaultMutableTreeNode dtreeb2=new DefaultMutableTreeNode("你的文件2");
 DefaultMutableTreeNode dtreeb3=new DefaultMutableTreeNode("你的文件3");
 
 dtree.add(dtreea);
 dtree.add(dtreeb);
 
 dtreea.add(dtreea1);
 dtreea.add(dtreea2);
 dtreea.add(dtreea3);
 
 dtreeb.add(dtreeb1);
 dtreeb.add(dtreeb2);
 dtreeb.add(dtreeb3);


 
 JTree t=new JTree(dtree);
 c.add(t,BorderLayout.CENTER);
 }
 public void treeNodesChanged(TreeModelEvent e) {
     DefaultMutableTreeNode node;
     node = (DefaultMutableTreeNode)
              (e.getTreePath().getLastPathComponent());
     try {
         int index = e.getChildIndices()[0];
         node = (DefaultMutableTreeNode)
                (node.getChildAt(index));
     } catch (NullPointerException exc) {}
     System.out.println("The user has finished editing the node.");
     System.out.println("New value: " + node.getUserObject());
 }
 public void treeNodesInserted(TreeModelEvent e) { }
 public void treeNodesRemoved(TreeModelEvent e) { }
 public void treeStructureChanged(TreeModelEvent e) { }
 public DefaultMutableTreeNode addObject(Object child) {
	    DefaultMutableTreeNode parentNode = null;
	    TreePath parentPath = tree.getSelectionPath();

	    if (parentPath == null) {
	        //There is no selection. Default to the root node.
	        parentNode = rootNode;
	    } else {
	        parentNode = (DefaultMutableTreeNode)
	                     (parentPath.getLastPathComponent());
	    }

	    return addObject(parentNode, child, true);
	}
	public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
	                                        Object child,
	                                        boolean shouldBeVisible) {
	    DefaultMutableTreeNode childNode =
	            new DefaultMutableTreeNode(child);
	    treeModel.insertNodeInto(childNode, parent,
	                             parent.getChildCount());

	    //Make sure the user can see the lovely new node.
	    if (shouldBeVisible) {
	        tree.scrollPathToVisible(new TreePath(childNode.getPath()));
	    }
	    return childNode;
	}
	private void LoadLazyChildren(){
	    DefaultMutableTreeNode child;
            child = new DefaultMutableTreeNode("Thai Barbeque");
            dummyParent.add(child);
            child = new DefaultMutableTreeNode("Goat Hill Pizza");
	    dummyParent.add(child);
	    textArea.append(" Thai Barbeque and Goat Hill Pizza are loaded lazily");
	}
	
   public void treeWillExpand(TreeExpansionEvent e) 
                    throws ExpandVetoException {
            saySomething("You are about to expand node ", e);
            int n = JOptionPane.showOptionDialog(
                this, willExpandText, willExpandTitle,
                JOptionPane.YES_NO_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,willExpandOptions,willExpandOptions[1]);
           
	LoadLazyChildren();
	}


 public static void main(String args[]) {
  TestTree mainFrame = new TestTree();
  mainFrame.setSize(400, 400);
  mainFrame.setTitle("TestTree");
  mainFrame.setVisible(true);
 }
}
//http://www.0531s.com/www/29/2007-12/14615.html
//http://www.cnblogs.com/huqingyu/archive/2008/04/09/1145894.html
//http://hellowxj.spaces.live.com/blog/cns!1479846e25dda5de!163.entry
//http://www.fastgun.net/new/jc/sort7/Child46/info-11452.html

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -