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

📄 mytreecellrenderer.java

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

import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.net.URL;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTree;
import javax.swing.border.Border;
import javax.swing.tree.TreeCellRenderer;

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

/**
 * 聊天窗体 用户列表树的绘制器 类
 * @author admin
 *
 */

public class MyTreeCellRenderer extends JLabel implements TreeCellRenderer {

	private Border line = BorderFactory.createLineBorder(Color.green);
	private Border empty = BorderFactory.createEmptyBorder();
	
	public Component getTreeCellRendererComponent(JTree tree, Object value,
			boolean selected, boolean expanded, boolean leaf, int row,
			boolean hasFocus) {
		URL url  ;
		ImageIcon icon;		
		if (value instanceof TCompany){
			TCompany c = (TCompany)value;
			this.setText(c.getName());
			if (expanded){
				url = Images.class.getResource("tree/0.gif");
				icon = new ImageIcon(url);
				this.setIcon(icon);
				
			}else{
				url = Images.class.getResource("tree/2.gif");
				icon = new ImageIcon(url);
				this.setIcon(icon);
			}
			
		}else if(value instanceof TDepartment){
			TDepartment d = (TDepartment)value;
			this.setText(d.getDname());
			
			if (expanded){
				url = Images.class.getResource("tree/2.gif");
				icon = new ImageIcon(url);
				this.setIcon(icon);
				
			}else{
				url = Images.class.getResource("tree/1.gif");
				icon = new ImageIcon(url);
				this.setIcon(icon);
			}
		}else if(value instanceof TUser){
			TUser user = (TUser)value;
			this.setText(user.getUTERM()+"[" + user.getUNO()+"]");
			
			if(user.getUISONLINE().trim().equals("1")){
				url = Images.class.getResource("head/"+user.getUICONID()+".gif");
				icon = new ImageIcon(url);
				this.setIcon(icon);
			}else if(user.getUISONLINE().trim().equals("0")){
				url = Images.class.getResource("gray/"+user.getUICONID()+".gif");
				icon = new ImageIcon(url);
				this.setIcon(icon);
			}
		}
		
		if (selected)
			this.setBorder(line);
		else
			this.setBorder(empty);
		this.setPreferredSize(new Dimension(130,25));
		//this.validate();
		return this;
	}

}

⌨️ 快捷键说明

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