📄 chartframe.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 + -