JTree,将树的每个节点设置成不同的图标
来源:互联网 发布:imo软件下载 编辑:程序博客网 时间:2024/05/25 16:40
MyDefaultTreeCellRenderer.java
TreeIconDemo.java
- import java.awt.Component;
- import javax.swing.ImageIcon;
- import javax.swing.JTree;
- import javax.swing.tree.DefaultMutableTreeNode;
- import javax.swing.tree.DefaultTreeCellRenderer;
- /**
- * 自定义树描述类,将树的每个节点设置成不同的图标
- * @author RuiLin.Xie - xKF24276
- *
- */
- public class MyDefaultTreeCellRenderer extends DefaultTreeCellRenderer
- {
- /**
- * ID
- */
- private static final long serialVersionUID = 1L;
- /**
- * 重写父类DefaultTreeCellRenderer的方法
- */
- @Override
- public Component getTreeCellRendererComponent(JTree tree, Object value,
- boolean sel, boolean expanded, boolean leaf, int row,
- boolean hasFocus)
- {
- //执行父类原型操作
- super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf,
- row, hasFocus);
- setText(value.toString());
- if (sel)
- {
- setForeground(getTextSelectionColor());
- }
- else
- {
- setForeground(getTextNonSelectionColor());
- }
- //得到每个节点的TreeNode
- DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
- //得到每个节点的text
- String str = node.toString();
- //判断是哪个文本的节点设置对应的值(这里如果节点传入的是一个实体,则可以根据实体里面的一个类型属性来显示对应的图标)
- if (str == "a")
- {
- this.setIcon(new ImageIcon("treeimg/a.GIF"));
- }
- if (str == "b")
- {
- this.setIcon(new ImageIcon("treeimg/b.GIF"));
- }
- if (str == "c")
- {
- this.setIcon(new ImageIcon("treeimg/c.GIF"));
- }
- return this;
- }
- }
TreeIconDemo.java
- import java.awt.BorderLayout;
- import javax.swing.JFrame;
- import javax.swing.JScrollPane;
- import javax.swing.JTree;
- import javax.swing.tree.DefaultMutableTreeNode;
- import javax.swing.tree.DefaultTreeModel;
- public class TreeIconDemo extends JFrame
- {
- /**
- * ID
- */
- private static final long serialVersionUID = 1L;
- private JTree tree;
- /**
- * Launch the application
- *
- * @param args
- */
- public static void main(String args[])
- {
- try
- {
- TreeIconDemo frame = new TreeIconDemo();
- frame.setVisible(true);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- /**
- * Create the frame
- */
- public TreeIconDemo()
- {
- super();
- setBounds(100, 100, 500, 375);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- final JScrollPane scrollPane = new JScrollPane();
- getContentPane().add(scrollPane, BorderLayout.CENTER);
- tree = new JTree();
- scrollPane.setViewportView(tree);
- //创建数据
- DefaultTreeModel defaultTreeModel = createModel();
- //设置数据
- tree.setModel(defaultTreeModel);
- //设置自定义描述类
- tree.setCellRenderer(new MyDefaultTreeCellRenderer());
- }
- /**
- * 创建树节点模型
- * @return
- */
- public DefaultTreeModel createModel()
- {
- DefaultMutableTreeNode root = new DefaultMutableTreeNode("a");
- DefaultMutableTreeNode b = new DefaultMutableTreeNode("b");
- DefaultMutableTreeNode c = new DefaultMutableTreeNode("c");
- root.add(b);
- root.add(c);
- return new DefaultTreeModel(root);
- }
- }
0 0
- 将JTree的每个节点设置成不同的图标
- JTree,将树的每个节点设置成不同的图标
- JTree 方法设置树节点的展开图标
- 改变Jtree节点的图标
- 修改jtree的节点图标
- java JTree树 叶子节点 不同图标
- JTree 不同叶子节点图标
- Phoenix Framework中为Tree的每个节点设置不同图标的方法
- JTree绘制节点图标的方法
- 修改JTree的图标
- 在JTree的节点上使用gif动画图标
- 怎样修改JTree中每级节点前面的图标
- 为树形控件的每个节点前添加不同的图标
- jtree 默认展开树的全部节点
- JTree不同节点上的右击弹出不同的快捷菜单
- 如何设置jtree 图标
- 设置TreeView中每个节点的颜色
- Flex 给Tree的每个节点添加自定义图标
- 如此爱你
- document.createDocumentFragment()的用法
- VC 获取MBR引导分区数据
- 再谈“我是怎么招聘程序员的”(下)
- 方便了解国家大事
- JTree,将树的每个节点设置成不同的图标
- mean shift的各种资料
- 现金流量的结构分析
- 程序猿《程序员》杂志怎么样?
- 数据结构6:使用栈计算逆波兰表达式
- 天涯赤子心
- 数据一致性模型
- 字符串指针vs字符数组
- 别人的东西--转发