public void mouseClicked(MouseEvent e) { Point p = SwingUtilities.convertPoint( e.getComponent(), e.getPoint(), this); TreePath path = getPathForLocation(p.x, p.y); if (path != null) { Rectangle r = getUI().getPathBounds(this,path); TreeNode node = (TreeNode)path.getLastPathComponent(); if (node instanceof ImageListNode) { ImageListPanel ilp = ((ImageListNode)node).getPanel(); //wingUtilities.convertPoint(e.getComponent(), e.getPoint(), ((ImageListNode)node).getPanel()); p.translate(-r.x, -r.y); log.info(p); Component c = ((ImageListNode)node).getPanel().getComponentAt(p.x, p.y); if (c != null && c instanceof ImagePanel) { log.info("c "+c.getClass().getName()); ((ImagePanel)c).mouseClicked(e); } else { log.info("No component found!"); } } } }