如何在jtree的节点插入图片? 希望能实现类似QQ的那种分类树形结构,树叶以图片显示。如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class JTreeCellRenderer extends DefaultTreeCellRenderer{ public JTreeCellRenderer() { } public Component getTreeCellRendererComponent( JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent( tree, value, sel, expanded, leaf, row, hasFocus); DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; JTreeBean jtb = (JTreeBean)node.getUserObject(); setIcon(jtb.getIcon()); setText(jtb.getString()); setTextNonSelectionColor(jtb.getColor()); return this; } protected boolean isTutorialBook(Object value) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; return false; }}---------------------------------------------------------------------填充节点属性import java.util.List;import java.awt.Color;import javax.swing.ImageIcon;import java.util.ArrayList;import javax.swing.JComboBox;import javax.swing.JComponent;public class JTreeBean { private String strNode; private ImageIcon iconNode; private Color strColor; public JTreeBean(String str, ImageIcon icon, Color color) { strNode = str; iconNode = icon; strColor = color; } public JTreeBean(String str, ImageIcon icon) { strNode = str; iconNode = icon; } public JTreeBean(String str) { strNode = str; } public String getString() { return strNode; } public void setString(String strNode) { this.strNode = strNode; } public void setJComponent(JComponent jcp) { this.jcp = jcp; } public ImageIcon getIcon() { return iconNode; } public void setIcon(ImageIcon iconNode) { this.iconNode = iconNode; } public Color getColor() { return strColor; } public void setColor(Color strColor) { this.strColor = strColor; }}------------------------------------------------------前台界面文件 JTreeBean aa = new JTreeBean("aaaaa", new ImageIcon("123.gif"), Color.RED); JTreeBean bb = new JTreeBean("bbbbbb", new ImageIcon("456.gif"), Color.BLUE); JTreeBean cc = new JTreeBean("cccccc", new ImageIcon("789.gif"), Color.GREEN); DefaultMutableTreeNode treeNodeaa = new DefaultMutableTreeNode(aa); DefaultMutableTreeNode treeNodebb = new DefaultMutableTreeNode(bb); DefaultMutableTreeNode treeNodecc = new DefaultMutableTreeNode(cc); JTree jt = new JTree(treeNodeaa); JTreeCellRenderer jtr = new JTreeCellRenderer(); jt.setCellRenderer(jtr); java IO问题 递归算法 求个函数 2的多少次方 如何检测相对路径下文件是否存在? (int)(char)(byte)-1具体是怎么换算的? 小弟菜鸟,socket 相关,请大家指点 在java语言中嵌入sql的问题,希望大家帮帮忙,谢谢了 求助,为什么JBUILDER菜单鼠标点击没反应 菜鸟提问:包是什么概念? 关于tcp协议模拟用户注册问题 关于static以及Canlender算法以及API常用知识的问题 请问为什么不能这样用?? 求助:关于static final 在线等
}
public Component getTreeCellRendererComponent(
JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) { super.getTreeCellRendererComponent(
tree, value, sel,
expanded, leaf, row,
hasFocus); DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
JTreeBean jtb = (JTreeBean)node.getUserObject();
setIcon(jtb.getIcon());
setText(jtb.getString());
setTextNonSelectionColor(jtb.getColor());
return this;
} protected boolean isTutorialBook(Object value) {
DefaultMutableTreeNode node =
(DefaultMutableTreeNode) value; return false;
}
}---------------------------------------------------------------------
填充节点属性
import java.util.List;
import java.awt.Color;
import javax.swing.ImageIcon;
import java.util.ArrayList;
import javax.swing.JComboBox;
import javax.swing.JComponent;public class JTreeBean {
private String strNode;
private ImageIcon iconNode;
private Color strColor;
public JTreeBean(String str, ImageIcon icon, Color color) {
strNode = str;
iconNode = icon;
strColor = color;
}
public JTreeBean(String str, ImageIcon icon) {
strNode = str;
iconNode = icon;
}
public JTreeBean(String str) {
strNode = str;
} public String getString() {
return strNode;
}
public void setString(String strNode) {
this.strNode = strNode;
} public void setJComponent(JComponent jcp) {
this.jcp = jcp;
}
public ImageIcon getIcon() {
return iconNode;
}
public void setIcon(ImageIcon iconNode) {
this.iconNode = iconNode;
}
public Color getColor() {
return strColor;
}
public void setColor(Color strColor) {
this.strColor = strColor;
}}------------------------------------------------------
前台界面文件
JTreeBean aa = new JTreeBean("aaaaa", new ImageIcon("123.gif"), Color.RED);
JTreeBean bb = new JTreeBean("bbbbbb", new ImageIcon("456.gif"), Color.BLUE);
JTreeBean cc = new JTreeBean("cccccc", new ImageIcon("789.gif"), Color.GREEN); DefaultMutableTreeNode treeNodeaa = new DefaultMutableTreeNode(aa);
DefaultMutableTreeNode treeNodebb = new DefaultMutableTreeNode(bb);
DefaultMutableTreeNode treeNodecc = new DefaultMutableTreeNode(cc);
JTree jt = new JTree(treeNodeaa);
JTreeCellRenderer jtr = new JTreeCellRenderer();
jt.setCellRenderer(jtr);