Библиотека, в которой вы оказались, выглядит красиво. Если вы хотите создать нечто подобное самостоятельно, вам нужно использовать JWindow
в качестве базового класса; это окно верхнего уровня, например JFrame
, но без границ. Вам просто нужно расположить его относительно вашего компонента. Чтобы получить положение экрана компонента, вы должны использовать SwingUtilities#convertPointToScreen
. Тогда вы можете просто проектировать, как хотите, и использовать стандартные компоненты и менеджеры макетов.