Ich habe ein JPopUpMenu, das ich zu mehreren JTables hinzugefügt habe, und ich möchte die spezifische Tabelle, die rechts angeklickt ist, erhalten, damit ich Änderungen daran vornehmen kann. Wie kann ich die Komponente, die das JPopupMenu im Action Listener auslöst?Wie bekomme ich die Komponente, die ein JPopupMenu aufgerufen hat?
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 für die Verwendung von ComponentPopupMenu. Jetzt benutze Action statt ActionListener und es wäre perfekt :-) – kleopatra
@kleopatra was meinst du? Wie kann ich Action nutzen? – Igor
schnellste Weg zu lernen, dass das Tutorial (referenziert im Swing-Tag-Wiki) Kapitel über die Verwendung von Aktionen/Menüs zu lesen ist :-) – kleopatra