private void queueShow( final JComponent c, final MouseEvent me, final boolean toCenter, int shift, int posChangeX, int posChangeY) { final IdeTooltip tooltip = new IdeTooltip(c, me.getPoint(), null, new Object()) { @Override protected boolean beforeShow() { myCurrentEvent = me; if (!c.isShowing()) return false; String text = c.getToolTipText(myCurrentEvent); if (text == null || text.trim().isEmpty()) return false; JLayeredPane layeredPane = IJSwingUtilities.findParentOfType(c, JLayeredPane.class); final JEditorPane pane = initPane(text, new HintHint(me).setAwtTooltip(true), layeredPane); final Wrapper wrapper = new Wrapper(pane); setTipComponent(wrapper); return true; } }.setToCenter(toCenter) .setCalloutShift(shift) .setPositionChangeShift(posChangeX, posChangeY) .setLayer(Balloon.Layer.top); show(tooltip, false); }