001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.widgets;
003
004import javax.swing.Action;
005import javax.swing.JList;
006import javax.swing.JMenuItem;
007import javax.swing.JPopupMenu;
008import javax.swing.event.ListSelectionListener;
009
010/**
011 * @author Vincent
012 *
013 */
014public class ListPopupMenu extends JPopupMenu {
015
016    private final JList<?>[] lists;
017
018    public ListPopupMenu(JList<?> ... lists) {
019        this.lists = lists;
020    }
021
022    @Override
023    public JMenuItem add(Action a) {
024        if (lists != null && a instanceof ListSelectionListener) {
025            for (JList<?> list : lists) {
026                list.addListSelectionListener((ListSelectionListener) a);
027            }
028        }
029        return super.add(a);
030    }
031}