java Jtree 怎么把虚线去掉

如何去掉java jtree的阴影~

通过属性修改的方法我还没有找到,一会再试一下,如果有结果给你发消息。

我能过下面的方式也实现了你的要求,实现TreeCellRenderer,将回的对象设置成透明的label
下边是代码,但这样会有一个问题。就是树的节点都变成了子节点的样子。
即本来父节点是个文件夹的样子,现在统统变成子节点的样子了,
如果想改变,就需要重写DefaultMutableTreeNode的
public boolean isLeaf() {
}
与这个方法返回值有关。


import java.awt.Component;

import javax.swing.JLabel;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeCellRenderer;

public class CellRenderer implements TreeCellRenderer {

public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
JLabel label = new JLabel(node.toString());
label.setOpaque(false);
return label;
}
}

通过属性修改的方法我还没有找到,一会再试一下,如果有结果给你发消息。

我能过下面的方式也实现了你的要求,实现TreeCellRenderer,将回的对象设置成透明的label
下边是代码,但这样会有一个问题。就是树的节点都变成了子节点的样子。
即本来父节点是个文件夹的样子,现在统统变成子节点的样子了,
如果想改变,就需要重写DefaultMutableTreeNode的
public boolean isLeaf() {
}
与这个方法返回值有关。


import java.awt.Component;

import javax.swing.JLabel;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeCellRenderer;

public class CellRenderer implements TreeCellRenderer {

public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
JLabel label = new JLabel(node.toString());
label.setOpaque(false);
return label;
}
}

调用此方法,可以去掉,JTree.putClientProperty("JTree.lineStyle", "None")

参考一下
http://blog.csdn.net/pest1999/archive/2009/04/09/4059036.aspx

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网