void (JLayeredPane aPane, Rectangle aRectangle, DnDEvent aEvent) { if (!Registry.is("ide.dnd.textHints")) return; final String result = aEvent.getExpectedDropResult(); if (result != null && result.length() > 0) { RelativePoint point = null; for (DropTargetHighlighter each : ourHightlighters) { if (each instanceof AbstractComponentHighlighter) { Rectangle rec = ((AbstractComponentHighlighter)each).getBounds(); point = new RelativePoint(aPane, new Point(rec.x + rec.width, rec.y + rec.height / 2)); break; } } if (point == null) { point = new RelativePoint(aPane, new Point(aRectangle.x + aRectangle.width, aRectangle.y + aRectangle.height / 2)); } myCurrentBalloon = JBPopupFactory.getInstance().createHtmlTextBalloonBuilder(result, myMessageType, null).createBalloon(); myCurrentBalloon.show(point, Balloon.Position.atRight); } }