void (MouseEvent e) { if (!isMouseMoved(e.getLocationOnScreen())) return; Point point = e.getPoint(); int index = myList.locationToIndex(point); if (isSelectableAt(index)) { if (index != myLastSelectedIndex && !isMovingToSubmenu(e)) { myExtendMode = calcExtendMode(index); if (!isMultiSelectionEnabled() || !UIUtil.isSelectionButtonDown(e) && myList.getSelectedIndices().length <= 1) { myList.setSelectedIndex(index); if (myShowSubmenuOnHover) { disposeChildren(); } if (myExtendMode == ExtendMode.EXTEND_ON_HOVER) { showSubMenu(index, true); } } restartTimer(); myLastSelectedIndex = index; } Object element = myListModel.getElementAt(index); if (element != null && myPopupInlineActionsSupport.hasExtraButtons(element)) { Integer buttonIndex = myPopupInlineActionsSupport.calcButtonIndex(element, point); boolean changed = myList.setSelectedButtonIndex(buttonIndex); if (changed) { getContent().repaint(); } } } else { myList.clearSelection(); myLastSelectedIndex = -1; } notifyParentOnChildSelection(); }