private void openContextMenu(MouseEvent e) { if (e.isPopupTrigger()) { int clickedRow = table.rowAtPoint(e.getPoint()); if (clickedRow != -1) { if (!Helper.arrayContainsInt(table.getSelectedRows(), clickedRow)) { table.setRowSelectionInterval(clickedRow, clickedRow); } } if (table.getSelectedRow() != -1) { Collection<Room> selected = new ArrayList<>(); for (Favorite f : getSelected()) { selected.add(f.room); } ContextMenu m = new RoomsContextMenu(selected, contextMenuListener); m.show(table, e.getX(), e.getY()); } } }