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}