Results 1 to 5 of 5

Thread: Java program to remove JTree default icons?

  1. #1
    Join Date
    Aug 2009
    Posts
    57

    Java program to remove JTree default icons?

    Hello friends,
    I am last year Computer Science student. I am working on live project where I use java as front end. I want to remove JTree default icons. I tried various method but I unable to write correct program. Can anyone tell me How to remove JTree default icons using java program? Please help me.
    Thank you.

  2. #2
    Join Date
    Nov 2005
    Posts
    1,323

    Re: Java program to remove JTree default icons?

    You can easily remove JTree default icons by just modifying the tree cell renderer object. To get the cell renderer you have to call the JTree.getCellRenderer() which will return a DefaultTreeCellRenderer object. Then only you can remove the icon by setting a null value to the setLeafIcon(), setClosedIcon() and setOpenIcon().


    Code:
    package org.kodejava.example.swing;
     
    import javax.swing.*;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeCellRenderer;
    import java.awt.*;
     
    public class JTreeRemoveIcon extends JFrame {
        public JTreeRemoveIcon() throws HeadlessException {
            initializeUI();
        }
     
        private void initializeUI() {
            setSize(250, 450);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
            DefaultMutableTreeNode roots = new DefaultMutableTreeNode("Address Book");
            DefaultMutableTreeNode a = new DefaultMutableTreeNode("X");
            DefaultMutableTreeNode b = new DefaultMutableTreeNode("Y");
            DefaultMutableTreeNode c = new DefaultMutableTreeNode("Z");
     
            DefaultMutableTreeNode aContact = new DefaultMutableTreeNode("AxMEN");
            DefaultMutableTreeNode bContact = new DefaultMutableTreeNode("yOGESH");
            DefaultMutableTreeNode cContact = new DefaultMutableTreeNode("zORE");
    
            root.add(x);
            root.add(y);
           root.add(z);
            x.add(aContact);
            y.add(bContact);
            z.add(cContact);
     
           JTree trees = new JTree(roots);
     
            DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tree.getCellRenderer();
            renderer.setLeafIcon(null);
            renderer.setClosedIcon(null);
           renderer.setOpenIcon(null);
     
            JScrollPane panes = new JScrollPane(trees);
            pane.setPreferredSize(new Dimension(250, 450));
     
            getContentPane().add(trees);
        }
     
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    new JTreeRemoveIcons().setVisible(true);
                }
            });
        }
    }

  3. #3
    Join Date
    Oct 2005
    Posts
    2,393

    Re: Java program to remove JTree default icons?

    You have to use UIManager class to solve this problem. The program that I had written below is working properly in my computer. Just try to run this in your computer. In this program we have to remove leaf, open, close icons.


    Code:
    Icon leafIcons = new ImageIcon("leaf.gif"); 
    Icon openIcons = new ImageIcon("open.gif");
    Icon closedIcons = new ImageIcon("closed.gif"); 
    
    JTree trees = new JTree(); 
    
    DefaultTreeCellRenderer renderers = (DefaultTreeCellRenderer)trees.getCellRenderers(); renderer.setLeafIcon(leafIcons); renderer.setClosedIcon(closedIcons); renderer.setOpenIcon(openIcons);
    
    renderer.setLeafIcon(null); 
    renderer.setClosedIcon(null);
     renderer.setOpenIcon(null);
    
     UIManager.put("Tree.leafIcon", leafIcons);
    UIManager.put("Tree.openIcon", openIcons); UIManager.put("Tree.closedIcon", closedIconss); 
    
    
    trees = new JTree();

  4. #4
    Join Date
    May 2008
    Posts
    2,389

    Re: Java program to remove JTree default icons?

    Code:
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTree;
    import javax.swing.UIManager;
    import javax.swing.tree.DefaultTreeCellRenderer;
    
    public class Main {
      public static void main(String[] argv) throws Exception {
        Icon leafIcons = new ImageIcon("leaf.gif");
        Icon openIcons = new ImageIcon("open.gif");
        Icon closedIcons = new ImageIcon("closed.gif");
    
        JTree trees = new JTree();
        DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tree.getCellRenderer();
        renderer.setLeafIcon(leafIcons);
        renderer.setClosedIcon(closedIcons);
        renderer.setOpenIcon(openIcons);
    
    
    
        JFrame fs = new JFrame();
        fs.add(new JScrollPane(tree));
        fs.setSize(350, 350);
        fs.setVisible(true);
    
      }
    }

  5. #5
    Join Date
    Feb 2008
    Posts
    1,852

    Re: Java program to remove JTree default icons?

    You have to use following code in your in your project to do this. By explicitly creating the Jtree's model, the code guarantees that the tree's model is an instance of DefaultTreeModel. we know that we can invoke the model's insertNodeInto method, even though that method is not required by the TreeModel interface. Just go through it.



    Code:
    rootNodes = new DefaultMutableTreeNode("Root Nodes");
    treeModels = new DefaultTreeModel(rootNodes);
    treeModel.addTreeModelListener(new MyTreeModelListener());
    
    trees = new JTree(treeModels);
    tree.setEditable(true);
    tree.getSelectionModel().setSelectionMode
            (TreeSelectionModel.SINGLE_TREE_SELECTION);
    tree.setShowsRootHandles(true);

Similar Threads

  1. Icons missing from add/remove program list
    By Wajidali in forum Operating Systems
    Replies: 4
    Last Post: 04-12-2010, 08:58 PM
  2. Java program to add selection listener to JTree
    By Juany in forum Software Development
    Replies: 4
    Last Post: 23-01-2010, 04:25 PM
  3. How to remove a node from JTree in java program?
    By kamina23 in forum Software Development
    Replies: 4
    Last Post: 22-01-2010, 05:41 PM
  4. Java program to expand or collapse all JTree nodes.
    By KALIDA in forum Software Development
    Replies: 4
    Last Post: 22-01-2010, 05:04 PM
  5. Replies: 5
    Last Post: 22-01-2010, 04:17 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Page generated in 1,716,644,931.23974 seconds with 17 queries