🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.jbuilder.java.swing
Article #10935

JTree : Want to have MouseListner for Icon in Tree

#10935
From: Rohit Bhardwaj
Date: Tue, 27 Jul 1999 00:00
96 lines
2966 bytes
Hi,
We want to add MouseListner for the Icon added to Jlabel and not to the
Tree.
Am not able to trap the Listner event for the same. Here is my code :


  private class MyCellRenderer extends JLabel implements
          TreeCellRenderer
  {
    protected ImageIcon nodeIcon;
    MouseListener mcLabelMouseListner = new
java.awt.event.MouseAdapter() {
   public void mouseClicked(MouseEvent e) {
    label_mouseClicked(e);
   }
        };

    //ImageIcon nodeIcon

    /**
     * Constructor for MyCellRenderer
     *
     */
    public MyCellRenderer()
    {
        this.addMouseListener(mcLabelMouseListner);
    }


     /**
      * label_mouseClicked
      * To Process Label Click
      * @param e - the MouseEvent Event
      */
  void label_mouseClicked(MouseEvent e) {
         System.out.println("label_mouseClicked ... ");
         //Some processing
        }

    /**
     * getTreeCellRendererComponent
     */
    public Component getTreeCellRendererComponent(
                             JTree tree,
                             Object value,
                             boolean selected,
                             boolean expanded,
                             boolean leaf,
                             int row,
                             boolean hasFocus ) {
    //System.out.println("Rendrer is called ");

       DefaultMutableTreeNode node =
                        (DefaultMutableTreeNode)value;

        setText((node.getUserObject()).toString());
        Object lcObject = node.getUserObject() ;
        // some processing
         // get image icon : nodeIcon = new getImage("activity.gif");

       setIcon (nodeIcon);
       return this;
    }


    /**
     * paint method for treeRenderer
     *
     * @param g refrence to Graphics
     */
    public void paint( Graphics g ) {
      try {
        int textstart, textwidth;

        textstart = getIcon().getIconWidth() +
                    getIconTextGap();
        textwidth = getSize().width - textstart;

        getIcon().paintIcon(this, g, 0,0);

        g.setColor( getBackground() );
        g.fillRect( textstart, 0, textwidth, getSize().height );
        g.setColor(getForeground());
        g.drawString( getText(), textstart,
                      (getSize().height +
                       g.getFontMetrics().getAscent()) / 2);
      } catch (Exception ex) {
   }
    }

  }


Regards,
Rohit Bhardwaj
781-487-4766
Technical Details
Message-ID: <7nkt36$5hp12@forums.borland.com>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 111d45,893d1f5f3274ec06,start
X-Google-Attributes: gid111d45,public
From: "Rohit Bhardwaj" <rbhardwaj@kronos.com>
Subject: JTree : Want to have MouseListner for Icon in Tree
Date: 1999/07/27
Message-ID: <7nkt36$5hp12@forums.borland.com>
X-Deja-AN: 505870167
Organization: Kronos Inc.
Newsgroups: borland.public.jbuilder.java.swing
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3