如何任意设置树中的结点图标?而不是仅仅设置打开,关闭,叶子结点三种图标
解决方案 »
- 刚学完GUI,做一个小记事本,关于事件监听器..获取事件源有问题....求高手
- java 里面 当我们去链接一个远程的地址的时候,ip地址存在,但是端口不存在,就会出现超时,这个程序怎么写?
- 简单的一小段代码,有看不懂的地方,求讲解
- Eclipse 打包的时候XML文件内容读取不到
- 大家给我举点傻瓜代码的例子,最近我要练下逻辑,如输出素数等。。。。
- 关于Vector的一点疑问
- 如何根据IP获得主机名+主DNS后缀
- 实现java客户端的方式有啥?JSP?Applet?
- 如何改变上传文件的路径
- 关于弹出式菜单的问题
- 请问,在DOS窗口下运行JAVA文件,如何判断输入的参数是数字还是字母?
- 求助一个JTabbedPane选项卡文字格式的问题,谢谢
http://blog.csdn.net/Unagain
我做的java实现的资源管理器,在FileTree.java中其中有这方面的代码。
------------------
package Main;import java.awt.Component;
import java.awt.Graphics;import javax.swing.ImageIcon;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;public class CustomCellRenderer extends DefaultTreeCellRenderer{
/**
*
*/
private static final long serialVersionUID = 1L;
private ImageIcon componentImage[] = new ImageIcon[3];
public CustomCellRenderer(){
componentImage[0] = new ImageIcon(JReport.getImagePath()+"object.gif");
componentImage[1] = new ImageIcon(JReport.getImagePath()+"band.gif");
componentImage[2] = new ImageIcon(JReport.getImagePath()+"component.gif");
}
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value,selected, expanded, leaf, row, hasFocus);
DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
//System.out.println(((JTreeObject)node.getUserObject()).getComponentType());
switch(node.getLevel() )
{
case 0 : this.setIcon(componentImage[0]);
break;
case 1 : this.setIcon(componentImage[1]);
break;
case 2 : this.setIcon(componentImage[2]);
break; }
return this;
}
public void paint( Graphics g ){
g.fillRect( 0, 0, getWidth() - 1, getHeight() - 1 ); super.paint( g ); }
}