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;
}
}
参考一下
http://blog.csdn.net/pest1999/archive/2009/04/09/4059036.aspx