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

ToolTip on child node not displayed

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 8u66
    • javafx
    • x86_64
    • windows_7

      FULL PRODUCT VERSION :


      A DESCRIPTION OF THE PROBLEM :
      When a node has a Tooltip assigned via Tooltip.install(), and a child of that node also has aToolTip via ToolTip.install(). The ToolTip of the parent node is always shown and never the ToolTip of the child node is not shown. It looks like the move handler resposible for showing the ToolTip in ToolTip.TooltipBehavior should consume the event so the parent does not also receive the event and have its tooltip shown.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      run the attached source code and mouse over the label "test".

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      I would expect a tooltip with the text "inner pane"
      ACTUAL -
      A tooltip with the text "outer pane"

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------

      import javafx.application.Application;
      import javafx.scene.Scene;
      import javafx.scene.control.Label;
      import javafx.scene.control.Tooltip;
      import javafx.scene.layout.StackPane;
      import javafx.stage.Stage;


      public class JavaFXApplication6 extends Application {

          @Override
          public void start(Stage primaryStage) {
              Label label = new Label("test");

              StackPane innerpane = new StackPane(label);
              Tooltip.install(innerpane, new Tooltip("inner pane"));
              StackPane root = new StackPane();
              root.getChildren().add(innerpane);
              Tooltip.install(root, new Tooltip("outer pane"));
              Scene scene = new Scene(root, 300, 250);

              primaryStage.setTitle("Hello World!");
              primaryStage.setScene(scene);
              primaryStage.show();
          }

          /**
           * @param args the command line arguments
           */
          public static void main(String[] args) {
              launch(args);
          }

      }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      uninstall the parent tooltip when the mouse enters the child node and reinstall it when the mouse exits the child node.

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: