Overrides JComponent 's getToolTipText method in order to allow renderer's tips to be used if it has text set. NOTE: For JTree to properly display tooltips of its renderers, JTree must be a registered component with the ToolTipManager</cod
(MouseEvent event)
| 1540 | * if <code>event</code> is null |
| 1541 | */ |
| 1542 | public String getToolTipText(MouseEvent event) { |
| 1543 | String tip = null; |
| 1544 | |
| 1545 | if(event != null) { |
| 1546 | Point p = event.getPoint(); |
| 1547 | int selRow = getRowForLocation(p.x, p.y); |
| 1548 | TreeCellRenderer r = getCellRenderer(); |
| 1549 | |
| 1550 | if(selRow != -1 && r != null) { |
| 1551 | TreePath path = getPathForRow(selRow); |
| 1552 | Object lastPath = path.getLastPathComponent(); |
| 1553 | Component rComponent = r.getTreeCellRendererComponent |
| 1554 | (this, lastPath, isRowSelected(selRow), |
| 1555 | isExpanded(selRow), getModel().isLeaf(lastPath), selRow, |
| 1556 | true); |
| 1557 | |
| 1558 | if(rComponent instanceof JComponent) { |
| 1559 | MouseEvent newEvent; |
| 1560 | Rectangle pathBounds = getPathBounds(path); |
| 1561 | |
| 1562 | p.translate(-pathBounds.x, -pathBounds.y); |
| 1563 | newEvent = new MouseEvent(rComponent, event.getID(), |
| 1564 | event.getWhen(), |
| 1565 | event.getModifiers(), |
| 1566 | p.x, p.y, |
| 1567 | event.getXOnScreen(), |
| 1568 | event.getYOnScreen(), |
| 1569 | event.getClickCount(), |
| 1570 | event.isPopupTrigger(), |
| 1571 | MouseEvent.NOBUTTON); |
| 1572 | |
| 1573 | tip = ((JComponent)rComponent).getToolTipText(newEvent); |
| 1574 | } |
| 1575 | } |
| 1576 | } |
| 1577 | // No tip from the renderer get our own tip |
| 1578 | if (tip == null) { |
| 1579 | tip = getToolTipText(); |
| 1580 | } |
| 1581 | return tip; |
| 1582 | } |
| 1583 | |
| 1584 | /** |
| 1585 | * Called by the renderers to convert the specified value to |
nothing calls this directly
no test coverage detected