修改树节点图标的问题

zg6002 2008-02-27 05:56:24
目前找到的方法只有重写
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus){}
这个方法,
然后做判断。

可是我现在需要从数据库中取值进行判断哪个节点需要哪个图标,
现在发现,树生成后,每次展开或关闭,时getTreeCellRendererComponent都会执行,那样就会进行很多很多次的查找数据库

有什么好办法一次生成树后,不用在查数据库呢?
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
assdust110 2008-03-31
  • 打赏
  • 举报
回复
放到硬盘中,通过xml文件保存版本对比信息(是否是最新状态,是否状态有所改变)

建议再界面生成的时候就把所有的东西都做好,达到动态生成(面板生成时),静态调用(面板点击时)的效果.
zg6002 2008-02-28
  • 打赏
  • 举报
回复
我去试一下
SINODATA_QJF 2008-02-28
  • 打赏
  • 举报
回复
既然这样的话,那你可以定义一长驻内存的Collection,
系统启动时,将你所需要的图标对应的节点数据从数据库中读取出来,
并add到Collection中,当然,在用户操作树的过程中,你也必须得
对该Collection进行相应的add 或者remove,在此过程中,你树的
展开或者关闭都遍历该Collection即可


即:
class YourClass{
private static Collection treeIconList = null;
static{
treeIconList = new ArrayList();
//or new Vector etc
//and load the icon-data into the treeIconList(only once)
}
//here,rewrite the method getTreeCellRendererComponent()...
//good luck to you
}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧