/**
* 树控件使用
* @author lgh
*/
public class JTreeTest extends JFrame {
public JTreeTest() {
init();
}
private void init() {
this.setSize(800, 600);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
this.add(createJTree(), BorderLayout.CENTER);
this.setVisible(true);
}
/**
* 创建一个树
* @return
*/
private JScrollPane createJTree() {
DefaultMutableTreeNode node = new DefaultMutableTreeNode();
node.setUserObject(new MyTreeNode(new ImageIcon(Pic.tree2), "root"));
JTree jt = new JTree(node);
jt.setCellRenderer(new MyTreeCellRenderer());
createRootMutableTreeNode(node);
JScrollPane jsp = new JScrollPane(jt);
return jsp;
}
private void createRootMutableTreeNode(DefaultMutableTreeNode root) {
root.add(new DefaultMutableTreeNode(new MyTreeNode(new ImageIcon(Pic.tree1), "node1")));
root.add(new DefaultMutableTreeNode(new MyTreeNode(new ImageIcon(Pic.tree1), "node2")));
root.add(new DefaultMutableTreeNode(new MyTreeNode(new ImageIcon(Pic.tree1), "node3")));
root.add(new DefaultMutableTreeNode(new MyTreeNode(new ImageIcon(Pic.tree1), "node4")));
root.add(new DefaultMutableTreeNode(new MyTreeNode(new ImageIcon(Pic.tree1), "node5")));
}
public static void main(String[] args) {
JTreeTest jTreeTest = new JTreeTest();
}
private class MyTreeCellRenderer extends DefaultTreeCellRenderer {
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
MyTreeNode jtreeNode = (MyTreeNode) node.getUserObject();
this.setIcon(jtreeNode.getIcon());
this.setText(jtreeNode.getName());
this.setOpaque(true);
if (selected) {
this.setBackground(new Color(178, 180, 191));
} else {
this.setBackground(new Color(255, 255, 255));
}
return this;
}
}
private class MyTreeNode extends DefaultMutableTreeNode {
private Icon icon;
private String name;
public MyTreeNode(Icon icon, String name) {
this.icon = icon;
this.name = name;
}
public MyTreeNode() {
super();
}
/**
* @return the icon
*/
public Icon getIcon() {
return icon;
}
/**
* @param icon the icon to set
*/
public void setIcon(Icon icon) {
this.icon = icon;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
}
}
- 描述: 示例
- 大小: 7.4 KB
分享到:
- 2009-04-06 10:07
- 浏览 1102
- 评论(2)
- 论坛回复 / 浏览 (2 / 2884)
- 查看更多
相关推荐
JAVA中的Swing的JTree操作的宝典, 对树节点的增 删 改 查
1. 掌握JTree应用,树节点的操作; 2. 使用JTree展数,管理对象。
JTree上的每一个节点就代表一个TreeNode对象,TreeNode本身是一个Interface,里面定义了7个有关节点的方法,例如判断是否 为树叶节点、有几个子节点(getChildCount())、父节点为何(getparent())等等、这些方法的定义...
博文链接:https://xiancoder.iteye.com/blog/75830
(十) JAVA swing编程JTree实现系统目录 77 FileTree1.java源代码 77 (十一) Java Swing中的JTree模型 85 Swing.tree包中的主要类名称实现 85 1. 构建树模型 86 2. 树结点 86 树结构详细类图 86 2.1 TreeNode接口 86 ...
jtree树案例,jtree中树的比较经典案例,很好。
本系统名为企业人事管理系统,是由Java Swing,JTree,Hibernate技术和Oracle数据库开发的
JTree是Swing库提供的一个树形结构组件。它可以在图形界面中创建一个可展开和收缩的树状结构,用于显示层次化的数据。
swing jtree
java Swing JTree的教程实例,很适合初学者,非常经典,在很多地方都需要用到这种树的结构,只要是程序员,都应该熟悉这种树结构。
JTree用法大全,各种使用方法demo,介绍,并附注释。
JTree设置QQ好友树形列表中不同好友的图像,采用swing组件
JavaSwing中的JTree模型.pdf
Swing展示的文件系统树,比较好地说明了JTree
主要介绍了Java Swing树状组件JTree用法,结合具体实例形式分析了Swing组件JTree构成树状列表的节点设置与事件响应,以及自定义图形节点的相关操作技巧,需要的朋友可以参考下