社区
Java SE
帖子详情
如何为jtree的不同结点加不同的图标
amekoxiao
2004-12-16 04:50:55
我已经实现了相同级别的结点加不同的图标
现在求如何为所有的结点分别加不同的图标
...全文
361
3
打赏
收藏
如何为jtree的不同结点加不同的图标
我已经实现了相同级别的结点加不同的图标 现在求如何为所有的结点分别加不同的图标
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tomcatjava
2004-12-16
打赏
举报
回复
法一:扩展DefaultTreeCellRenderer,我的实现如下:
/**
* Customizes tree cell renderer.
*
* @version $version 1.0
* @author yuch
* @date 2004-7-2
*/
import java.awt.Component;
import java.awt.Font;
import java.awt.Color;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;
public class MyTreeCellRenderer extends DefaultTreeCellRenderer {
public MyTreeCellRenderer() {
}
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 );
setBackgroundNonSelectionColor( new Color( 245,209,135 ) );
setBackgroundSelectionColor( Color.red );
setBorderSelectionColor( Color.green );
URL urlOpen = MyTreeCellRenderer.class.getClassLoader().getResource( "resource/images/openfold.gif" );
URL urlClose = MyTreeCellRenderer.class.getClassLoader().getResource( "resource/images/closedfold.gif" );
URL urlLeaf = MyTreeCellRenderer.class.getClassLoader().getResource( "resource/images/leaf.gif" );
setOpenIcon( new ImageIcon(urlOpen) );
setClosedIcon( new ImageIcon(urlClose) );
setLeafIcon( new ImageIcon(urlLeaf) );
//这个地方可以自己设定条件,什么条件显示什么样的字体,Icon什么的
Font font = getFont();
if( !leaf ) {
setFont( font.deriveFont( Font.BOLD ) );
}
else {
setFont( font.deriveFont( Font.ITALIC ) );
}
return this;
}
}
FGS
2004-12-16
打赏
举报
回复
参考Icon,很容易的。
liangfengxx
2004-12-16
打赏
举报
回复
恩,我也在搞这个东东,帮你顶
JTree
,将树的每个节点设置成
不同
的
图标
MyDefaultTreeCellRenderer.java Java代码 import java.awt.Component; import javax.swing.ImageIcon; import javax.swing.
JTree
; import javax.swing.tree.DefaultMutableTreeNode;
用最简便的方法更换
JTree
图标
最近为一个程序写界面,需要更换
JTree
的默认
图标
,因为以前从没做过swing,走了不少弯路,现在把方法告诉大家,希望对你的工作能有所帮助. 先来一个常见的
图标
更换方法,需要显示继承DefaultTreeCellRenderer类,代码引用自http://blog.blogchina.com/174500.htmlprivate class MyRenderer extends
将
JTree
的每个节点设置成
不同
的
图标
import java.awt.Component; import javax.swing.ImageIcon; import javax.swing.
JTree
; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; /**
修改
jtree
的节点
图标
先定义5个
图标
如下://句柄展开时的
图标
Icon ExpandedIcon=new ImageIcon("
图标
文件路径");//句柄折叠时的
图标
Icon CollapsedIcon=new ImageIcon("
图标
文件路径");//叶节点的
图标
,也就是下面没有子
结点
的节点
图标
Icon LeafIcon=new ImageIcon("
图标
文件路径");//非叶节点关闭时的
图标
,也就是下面有子结
java
JTree
树 叶子节点
不同
图标
1.设置树的映射关系 DefaultTreeCellRenderer myCellRenderer = new MyTreeCellRender(); //设置叶子节点的
图标
jTree
.setCellRenderer(myCellRenderer); 2.调用,具体查看
JTree
Data结构DefaultMutableTreeNode leafUserNode =
Java SE
62,621
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章