将JTree的每个节点设置成不同的图标
来源:互联网 发布:web数据挖掘的特点 编辑:程序博客网 时间:2024/05/06 01:01
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; } }
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 方法设置树节点的展开图标
- JTree 不同叶子节点图标
- Phoenix Framework中为Tree的每个节点设置不同图标的方法
- JTree绘制节点图标的方法
- java JTree树 叶子节点 不同图标
- 修改JTree的图标
- 在JTree的节点上使用gif动画图标
- 怎样修改JTree中每级节点前面的图标
- 为树形控件的每个节点前添加不同的图标
- JTree不同节点上的右击弹出不同的快捷菜单
- 如何设置jtree 图标
- 设置TreeView中每个节点的颜色
- Flex 给Tree的每个节点添加自定义图标
- 如何遍历JTree的每一个节点?
- *[Lintcode]strStr
- Maven之Eclipse插件
- 我的Opengl学习
- Python数据分析学习笔记二
- dom 监听 div 监听 change事件
- 将JTree的每个节点设置成不同的图标
- VC++6.0静态库创建
- 图片查看器---本地图片缓存
- css的伪元素::after和::before的使用
- iOS里面MVC模式详解
- (转载)CSS3自定义滚动条样式 -webkit-scrollbar
- pb数据窗口数据输入的下拉选择效果
- Codeforces 583C GCD Table 【gcd + 构造】
- UIBezierPath介绍