javajtree的简单介绍
本篇文章给大家谈谈javajtree,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
如何去掉Java中jtree中的背景颜色
/实例化一个DefaultTreeCellRenderer对象
DefaultTreeCellRenderer cellRender=new DefaultTreeCellRenderer();
//设置处于折叠状态下非叶子节点的图标
cellRender.setClosedIcon(new ImageIcon(EmployeeInfo.class.getResource("/org/somken/dao/00003.gif")));
//设置叶子节点的图标
cellRender.setLeafIcon(new ImageIcon(EmployeeInfo.class.getResource("/org/somken/dao/00004.gif")));
//设置处于展开状态下非叶子节点的图标
cellRender.setOpenIcon(new ImageIcon(EmployeeInfo.class.getResource("/org/somken/dao/00002.gif")));
//设置非选定节点的背景色
cellRender.setBackgroundNonSelectionColor(Color.WHITE);
//设置节点在选中状态下的背景色
cellRender.setBackgroundSelectionColor(Color.lightGray);
//设置选中状态下节点边框的颜色
cellRender.setBorderSelectionColor(Color.MAGENTA);
//设置绘制选中状态下节点文本的颜色
cellRender.setTextSelectionColor(Color.MAGENTA);
tree.setCellRenderer(cellRender);
java的JTree的使用方法,
JTree组件被用来以树的形式显示数据,一层套一层,看起来清晰明了,使用户很方便地就了解到各个节点之间的层次关系,可以很容易地找到相关的数据。
例如 Windows 系统的文件管理器,它就是一个典型的树层次结构。
JTree的构造函数:
·JTree() 建立一棵默认的树。
·JTree(Hashtable data) 利用Hashtable建立树。
·JTree(Object[] data) 利用数组建立树。
·JTree(TreeModel model) 利用TreeModel建立树。
·JTree(TreeNode root) 建立以root为根的树。
·JTree(TreeNode root,Boolean children) 建立以 root 为根的树,并设定是否允许有子节点。
·JTree(Vector value) 利用Vector建立树。
使用一个JTree可以简单地像下面这样表示:
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
public class TreeDemo {
public static void main(String[] args) {
// 创建没有父节点和子节点、但允许有子节点的树节点,并使用指定的用户对象对它进行初始化。
// public DefaultMutableTreeNode(Object userObject)
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("软件部");
node1.add(new DefaultMutableTreeNode(new User("小花")));
node1.add(new DefaultMutableTreeNode(new User("小虎")));
node1.add(new DefaultMutableTreeNode(new User("小龙")));
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("销售部");
node2.add(new DefaultMutableTreeNode(new User("小叶")));
node2.add(new DefaultMutableTreeNode(new User("小雯")));
node2.add(new DefaultMutableTreeNode(new User("小夏")));
DefaultMutableTreeNode top = new DefaultMutableTreeNode("职员管理");
top.add(new DefaultMutableTreeNode(new User("总经理")));
top.add(node1);
top.add(node2);
final JTree tree = new JTree(top);
JFrame f = new JFrame("JTreeDemo");
f.add(tree);
f.setSize(300, 300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 添加选择事件
tree.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
.getLastSelectedPathComponent();
if (node == null)
return;
Object object = node.getUserObject();
if (node.isLeaf()) {
User user = (User) object;
System.out.println("你选择了:" + user.toString());
}
}
});
}
}
class User {
private String name;
public User(String n) {
name = n;
}
// 重点在toString,节点的显示文本就是toString
public String toString() {
return name;
}
}
java JTree如何监听双击事件
我以前用过一种方法:
就是JTree.addMouseListener就可以了。
然后在mouseClicked(MouseEvent e)方法中通过下面的方法获取所选的结点
TreePath path = testTree.getPathForLocation(e.getX(), e.getY());
TreeNode node = (TreeNode) path.getLastPathComponent();
可以用e.getClickCount()方法的返回值来判断是否双击。
javajtree的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javajtree的信息别忘了在本站进行查找喔。
发布于:2022-12-12,除非注明,否则均为
原创文章,转载请注明出处。