private void handlePopup(final MouseEvent e) { if (e.getClickCount() != 1 || !e.isPopupTrigger()) return; if (e.getX() < 0 || e.getX() >= e.getComponent().getWidth() || e.getY() < 0 || e.getY() >= e.getComponent().getHeight()) return; String place = myTabs.getPopupPlace(); place = place != null ? place : ActionPlaces.UNKNOWN; myTabs.myPopupInfo = myInfo; final DefaultActionGroup toShow = new DefaultActionGroup(); if (myTabs.getPopupGroup() != null) { toShow.addAll(myTabs.getPopupGroup()); toShow.addSeparator(); } JBTabsImpl tabs = JBTabsImpl.NAVIGATION_ACTIONS_KEY.getData( DataManager.getInstance().getDataContext(e.getComponent(), e.getX(), e.getY())); if (tabs == myTabs && myTabs.myAddNavigationGroup) { toShow.addAll(myTabs.myNavigationActions); } if (toShow.getChildrenCount() == 0) return; myTabs.myActivePopup = myTabs.myActionManager.createActionPopupMenu(place, toShow).getComponent(); myTabs.myActivePopup.addPopupMenuListener(myTabs.myPopupListener); myTabs.myActivePopup.addPopupMenuListener(myTabs); myTabs.myActivePopup.show(e.getComponent(), e.getX(), e.getY()); }