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

📄 mytreemodel.java

📁 模仿腾讯QQ的
💻 JAVA
字号:
package com.softfz.jn0708.chat.userlistpanel;

import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeNode;

import com.softfz.jn0708.srcpackage.TCompany;
import com.softfz.jn0708.srcpackage.TDepartment;
import com.softfz.jn0708.srcpackage.TUser;

/**
 *  用户列表树的模型
 * @author admin
 *
 */
public class MyTreeModel extends DefaultTreeModel{

	private TCompany company;

	/**
	 * 构造函数
	 * @param company  输入公司参数 建立公司树
 	 */
	public MyTreeModel(TCompany company) {
		super(null);
		this.company = company;
	}

	/**
	 * 取得儿子对象
	 */
	public Object getChild(Object parent, int index) {
		if (parent instanceof TCompany){			
			
			return company.getDeptList().get(index);
			
		}
		else if (parent instanceof TDepartment)
			return ((TDepartment)parent).getUserList().get(index);
		else
			return null;
	}
	
	/**
	 * 取得儿子对象的个数
	 */
	public int getChildCount(Object parent) {
		if (parent instanceof TCompany)
			return company.getDeptCount();
		else if (parent instanceof TDepartment)
			return ((TDepartment)parent).getUserCount();
		else
			return 0;
		
	}

	/**
	 * 获取某个小标值的儿子对象
	 */
	public int getIndexOfChild(Object parent, Object child) {
		if (parent instanceof TCompany)
			return company.getDeptList().indexOf(child);
		else if (parent instanceof TDepartment)
			return ((TDepartment)parent).getUserList().indexOf(child);
		else
			return -1;
	}

	/**
	 * 获取树根(公司)
	 */
	public Object getRoot() {
		return company;
	}

	/**
	 * 判断是否是叶子节点
	 */
	public boolean isLeaf(Object node) {
		return node instanceof TUser;
	}

	/**
	 * 获取公司
	 * @return
	 */
	public TCompany getCompany() {
		return company;
	}

	/**
	 * 设置公司
	 * @param company
	 */
	public void setCompany(TCompany company) {
		this.company = company;
	}
	
	

}

⌨️ 快捷键说明

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