Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4255441

Strange behavior of Tooltip when used with JComponent within Frame

XMLWordPrintable

    • beta
    • generic
    • generic

      When a tooltip is set on to a JButton within a Frame (not JFrame),
      it successfully displays any tips which either hangs outside of the window,
      or lies above the border of the window.

      However, if the pointer is positioned so that the whole tooltip is contained
      within the Frame, no tooltip is displayed, and as soon as the mouse exits
      out of the button, it throws a storm of exceptions:
      (The following is repeated so many times that it quickly fills up the buffer)

      Exception occurred during event dispatching:
      java.lang.Error: Destination component not connected to component tree hierarchy
              at javax.swing.SwingUtilities.convertPoint(SwingUtilities.java:102)
              at javax.swing.DefaultPopupFactory$JPanelPopup.convertParentLocationToScreen(DefaultPopupFactory.java:1003)
              at javax.swing.DefaultPopupFactory$JPanelPopup.getBoundsOnScreen(DefaultPopupFactory.java:981)
              at javax.swing.ToolTipManager.mouseExited(ToolTipManager.java:472)
              at java.awt.AWTEventMulticaster.mouseExited(AWTEventMulticaster.java:254)
              at java.awt.Component.processMouseEvent(Component.java:3595)
              at java.awt.Component.processEvent(Component.java:3418)
              at java.awt.Container.processEvent(Container.java:1253)
              at java.awt.Component.dispatchEventImpl(Component.java:2506)
              at java.awt.Container.dispatchEventImpl(Container.java:1302)
              at java.awt.Component.dispatchEvent(Component.java:2420)
              at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2504)
              at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:2366)
              at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2261)
              at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2191)
              at java.awt.Container.dispatchEventImpl(Container.java:1289)
              at java.awt.Window.dispatchEventImpl(Window.java:854)
              at java.awt.Component.dispatchEvent(Component.java:2420)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:302)
              at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:105)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:95)
              at java.awt.EventDispatchThread.run(EventDispatchThread.java:86)

      I have attached a demo program. This works without any problem in JDK1.2.2.
      The problem only became apparent with JDK1.3.

      shinsuke.fukuda@Eng 1999-07-19

            peterz Peter Zhelezniakov
            sfukudasunw Shinsuke Fukuda (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: