我想把树的格式显示成这样的:
root--child1
|
-child2
就是我把树节点的第一个儿子和他的父亲节点同一行显示,而不是按照JTree默认的那种方式(儿子在父亲的下一级)显示,请问高手如果继续使用JTree的话这种显示方式该如何显示?
而且我想根据节点不同的属性对节点进行着不同的颜色,并用不同的图标标记,我使用设置节点颜色的时候好像只能设置整个树中节点颜色,这一问题该如何解决??
还请高手指点啊,这个问题困扰我好久了.....
root--child1
|
-child2
就是我把树节点的第一个儿子和他的父亲节点同一行显示,而不是按照JTree默认的那种方式(儿子在父亲的下一级)显示,请问高手如果继续使用JTree的话这种显示方式该如何显示?
而且我想根据节点不同的属性对节点进行着不同的颜色,并用不同的图标标记,我使用设置节点颜色的时候好像只能设置整个树中节点颜色,这一问题该如何解决??
还请高手指点啊,这个问题困扰我好久了.....
解决方案 »
- 帮帮忙啊。。怎样利用eclipse打开已有的java文件并运行 。。在线等待中
- socket读取字节
- 怎样监听jtable的列改变事件?
- jdbc问题! 不理解!!
- 求J2EE的常见考试或面试笔试题目
- 急急急,如何从oracle中取出存放图片的字段值,并且还原成图片
- 数据库的菜鸟问题
- 关于jar 文件Mainfest的Class-Path:请教
- 高手请进
- 如何获取一个文件的相对路径?(急,在线等待……)
- 关于事件处理过程中的一个问题,希望各位高手,能来指导一下,
- 求救:急,解决问题马上给分。。。。关于servlet自动定时器的问题,,,下面是我的sevlet类,问题是它为什么在每次服务器开启的时候会执
|
-child2
这种树型结构怎么实现啊??????
按着你的要求child1已经是child2的父节点了
所以,你可以尝试把类似这样的兄弟节点,建立成父子几点。
这样可能能够实现你的要求。
在getTreeCellRenderComponent(JTree tree,Object value,boolean selected.....)方法中这样实现:
{
if(selected)
Rectangle r = this.getBounds(); //取得树结点的范围
Rectangle laber_r = label.getBounds(); //取得放图标的label的范围
draw(g);
}
然后实现draw()函数
Graphics g = getGraphics(); //在getTreeCellRenderComponent前面定义
public void draw(Graphics g)
{
g.setColor(Color.black);
g.drawRect(r.x,r.y,r.width+label_r.width,max(r.height,label_r.height));
}
可是运行的结果和我想像的很不一样,请问问题出在哪里,如果这样实现有问题,那我该如何实现?