最近在看“企业快信”的源代码,这个项目的好友列表是用JTree实现的。
在理解了它的写法之后,就想把JTree控件的使用熟悉一下。于是自己写了个小练习,就是显示数据库中的用户名和图片路径在JTree中,并且还可以添加用户,同时在JTree中显示。
JTree中,有TreeCellRenderer接口,可以用类来实现这个接口。在这个接口相应的方法中,可以对树中的节点进行设置。如我就是在这个方法中设置节点的大小,以及判断节点,然后将节点用一定的样式显示。
然后,再可以写一个类,继承至JTree,为它设置根节点DefaultMutableTreeNode root和DefaultTreeModel treeModel。然后设置它的setCellRenderer为刚才写的继承TreeCellRenderer的类。那么就可以添加节点,用root.add(new DefaultMutableTreeNode(**))方法,和root.remove()方法来移除节点。值得注意的是,setModel必需在setCellRenderer之后,而且,jpanel设为GridLayout(1,1)后再add JTree。
连接数据库的方法:
User1表对应的类:
UserRenderer类:
UserTree类:
界面: