В настоящее время я делаю приложение TODO GUI в Java для практики. Я хочу, чтобы каждый элемент, добавленный в список, имел возможность удаления. Поэтому я создал контекстное меню (или JPopupMenu в разгаре). Я также добавил JMenuItem, который удалит элемент из списка. Но есть проблема ... Я добавил кнопку «Слушатель действий» и передал переменную события, во-первых, хотя эта переменная события указывает на ListItem, но на самом деле она указывает на MenuItem.
Итак, как получить целевой объект (ListItem), чтобы окончательно удалить его из списка?
DefaultListModel<String> listModel = new DefaultListModel<>();
private JList<String> List;
List.setModel(listModel);
JPopupMenu listCtxMenu = new JPopupMenu();
JMenuItem deleteItem = new JMenuItem("Remove Item");
deleteItem.addActionListener(e -> {
// Access the Target...
});
listCtxMenu.add(deleteItem);
List.setComponentPopupMenu(listCtxMenu);