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

📄 mytree.java

📁 该源代码实现乐拖拽树的功能
💻 JAVA
字号:
package com.dt.test.mytree;

import java.sql.Connection;
import java.util.List;
import java.util.Set;

import com.dt.test.pojo.Dir;
import com.dt.test.pojo.Node;
import com.dt.test.pojo.Point;

public class MyTree {
	
	public static Dir root;
	public List<Point> allPoints;
	
	public static Dir getRoot() {
		return root;
	}

	public static void setRoot(Dir root) {
		MyTree.root = root;
	}
	
	public MyTree(){
		Connection conn=DBFactory.getConn();
		Dao dao=new Dao(conn);
		allPoints=dao.queryData();
		DBFactory.closeConn(conn);
		constructMyTree();
		/**
		 * 测试root里内容
		List<Point> temp=root.getPoints();
		for(Point p:temp){
			System.out.println(p);
			if(p.getType().equals("dir")){
				Dir dir=(Dir)p;
				System.out.println(dir.getName()+"folder size: "+dir.getPoints().size());
				List<Point> temp1=dir.getPoints();
				for(Point p1:temp1){
					System.out.println(p1);
					if(p1.getType().equals("dir")){
						Dir dir1=(Dir)p1;
						System.out.println(dir1.getName()+" folder size:"+dir1.getPoints().size());
					}
				}
			}
			
		}
		*/
	}
	
	
	public static Boolean deletePointInDB(Long id){
		Connection conn=DBFactory.getConn();
		Dao dao=new Dao(conn);
		return dao.deleteById(id);
	}
	
	public Dir findParentById(Long pid){
		Connection conn=DBFactory.getConn();
		Dao dao=new Dao(conn);
		return (Dir)dao.findById(pid);
	}
	
	public static void updatePoint(Long id,Long pid){
		Connection conn=DBFactory.getConn();
		Dao dao=new Dao(conn);
		dao.updatePointByPid(id,pid);
		DBFactory.closeConn(conn);
	}
	
	public void constructMyTree(){
		if(root!=null){
			root.getPoints().clear();
			allPoints.clear();
		}
		Connection conn=DBFactory.getConn();
		Dao dao=new Dao(conn);
		allPoints=dao.queryData();
		DBFactory.closeConn(conn);
		
		for(Point p:allPoints){
			if(p.getPid()==0&&p.getType().equals("dir")){
				root=(Dir)p;
			}else{
				Dir dir=getParentPoint(p.getPid(), allPoints);
				dir.getPoints().add(p);
			}
		}
	}
	
	public Dir getParentPoint(Long pid,List<Point> tree){
		Dir dir=null;
		for(Point temp:tree){
			if(temp.getId()==pid){
				dir=(Dir) temp;
				break;
			}
		}
		return dir;
	}
	
}

⌨️ 快捷键说明

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