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

📄 chartframe.java

📁 企业级的即时通软件。。java语言写的 这是客户端部份。
💻 JAVA
字号:
package edu.sccp.chat.IconIntercalate;

import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;







public class ChartFrame extends JFrame{

	
	public static ImageIcon ICON_SELF = new ImageIcon("./images/22.gif");

	public static ImageIcon ICON_MALE = new ImageIcon("images/12.gif");

	public static ImageIcon ICON_FEMALE = new ImageIcon("images/13.gif");
	
	public static ImageIcon ICON_EXTEND = new ImageIcon("./images/12.gif");

	protected JTree m_tree;

	protected DefaultTreeModel m_model;
	
	DefaultMutableTreeNode top;

	protected IconCellRenderer m_renderer;
	
	//IconCellEditor m_editor;

	
	
	//protected IconCellEditor m_editor;
	
public ChartFrame() {
		
		super("CorpMsg SYS");
		setSize(170, 450);
		//创建节点
		top = new DefaultMutableTreeNode(new IconData(
				ICON_EXTEND,ICON_SELF, "sccp"));
		top.add(new DefaultMutableTreeNode(new IconData(ICON_MALE,
				"wkun:123456" )));
		top.add(new DefaultMutableTreeNode(new IconData(ICON_FEMALE,
				"lgs:654321")));
		//获取模型
		m_model = new DefaultTreeModel(top);
		//创建树
		m_tree = new JTree(m_model);
		//设置单选
		m_tree.getSelectionModel().setSelectionMode(
				TreeSelectionModel.SINGLE_TREE_SELECTION);
		//设置根把守
		m_tree.setShowsRootHandles(true);
		m_tree.setEditable(false);
		//设置图片
		m_renderer = new IconCellRenderer();
		m_tree.setCellRenderer(m_renderer);
		//中断保存
		//m_editor = new IconCellEditor(m_tree);
		//m_tree.setCellEditor(m_editor);
		//中段保存
		//m_tree.setInvokesStopCellEditing(true);
		
		//添加滚动面板
		JScrollPane sctollpane = new JScrollPane();
		
		sctollpane.getViewport().add(m_tree);
		
//		使用内部类监听树的点击事件
		m_tree.addMouseListener(
				new MouseAdapter(){
					
					public void mouseClicked(MouseEvent e) {

						if (e.getClickCount() == 2) {
							TreePath selPath = m_tree
									.getPathForLocation(e.getX(), e.getY());
							if (selPath == null)
								return;
							DefaultMutableTreeNode node = (DefaultMutableTreeNode) (selPath
									.getLastPathComponent());
							if (node != null&& node.isLeaf()) {

								System.out.println("弹出对话框");
							}
						}
					}
		});
		getContentPane().add(sctollpane, BorderLayout.CENTER);
		//关闭窗口设置
		WindowListener wndCloser = new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		};
		addWindowListener(wndCloser);
		//设置窗体可视
		setVisible(true);
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ChartFrame chartFrame = new ChartFrame();
		try {
			Thread.sleep(2000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		chartFrame.top.add(new DefaultMutableTreeNode(new IconData(ICON_MALE,
				"gmg:123456" )));
		chartFrame.top.add(new DefaultMutableTreeNode(new IconData(ICON_FEMALE,
				"hl:654321")));
		chartFrame.m_model.reload();
		chartFrame.m_tree.repaint();
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		for(int i=0;i<chartFrame.top.getChildCount();i++){
			DefaultMutableTreeNode removenode = (DefaultMutableTreeNode)chartFrame.top.getChildAt(i);
			if(removenode.getUserObject().toString().equals("gmg:123456")){
				chartFrame.top.remove(i);
			}
		}
		chartFrame.m_model.reload();
		chartFrame.m_tree.repaint();
		DefaultMutableTreeNode node = (DefaultMutableTreeNode)chartFrame.top.getChildAt(1);
//		
//		IconData icon =(IconData)node.getUserObject();
//		String   imgname="./images/10.gif";   
//		  Image   image=Toolkit.getDefaultToolkit().getImage(imgname);
//		icon.setIcon(image);
//		chartFrame.m_tree.repaint();
		
	}
	
	

}

⌨️ 快捷键说明

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