void () { myParentEditor.putUserData(KEY, this); Pair<Point, Short> position = guessPosition(); JRootPane pane = myParentEditor.getComponent().getRootPane(); JComponent layeredPane = pane != null ? pane.getLayeredPane() : myParentEditor.getComponent(); HintHint hintHint = new HintHint(layeredPane, position.first) .setAwtTooltip(true) .setContentActive(true) .setExplicitClose(true) .setShowImmediately(true) .setPreferredPosition(position.second == HintManager.ABOVE ? Balloon.Position.above : Balloon.Position.below) .setTextBg(myParentEditor.getColorsScheme().getDefaultBackground()) .setBorderInsets(JBUI.insets(1)); int hintFlags = HintManager.HIDE_BY_OTHER_HINT | HintManager.HIDE_BY_ESCAPE | HintManager.UPDATE_BY_SCROLLING; HintManagerImpl.getInstanceImpl().showEditorHint(this, myParentEditor, position.first, hintFlags, 0, false, hintHint); }