Mam JPopUpMenu, które dodałem do wielu JTables i chciałbym uzyskać konkretną tabelę, która jest kliknięta prawym przyciskiem, więc mogę wprowadzić do niej zmiany. Jak mogę uzyskać komponent uruchamiający JPopupMenu w odbiorniku akcji?Jak zdobyć składnik, który wywołał 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);
+1 za używanie menu componentPopupMenu. Teraz użyj Action zamiast ActionListener i byłoby idealnie :-) – kleopatra
@kleopatra co masz na myśli? jak mogę użyć Action? – Igor
Najszybszym sposobem nauki jest zapoznanie się z samouczkiem (wymienionym w wiki tagu swing), rozdziałami opisującymi sposób korzystania z akcji/menu :-) – kleopatra