Как получить компонент, который вызвал JPopupMenu?

У меня есть JPopUpMenu, который я добавил к нескольким JTables, и я хотел бы получить определенную таблицу, которая щелкнула Правой Кнопкой Мыши, чтобы я мог внести в нее изменения. Как я могу получить компонент, который запускает JPopupMenu в Прослушивателе действий?

JPopupMenu popupMenu = new JPopupMenu();
JMenuItem menuItemRename = new JMenuItem("Rename");
popupMenu.add(menuItemRename);
table.getTableHeader().setComponentPopupMenu(popupMenu);

ActionListener menuListener = new ActionListener() {
    public void actionPerformed(ActionEvent event) {
           String newTitle = JOptionPane.showInputDialog(null, "Enter new title");
                   //Get the table and rename it here 
                }
            };
menuItemRename.addActionListener(menuListener);

2 ответов


использовать getInvoker() метод.

Component invoker = popupMenu.getInvoker();

использовать event.getSource() способ;