Se puo' essere utile, posto questa stupida estensione di JPopUpMenu che collega lo stesso popup a piu' componenti della GUI. Mancano alcune funzionalita' perche'... Perche' finora non mi sono servite!!!

La sintassi e' semplice, basta fornire come paramentro aggiuntivo al costruttore, l'elenco dei componenti.

codice:
/*
 * DeKPopupMenu.java
 *
 * Created on 27 marzo 2005, 23.20
 */

import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JPopupMenu;

/**
 *
 * @author DeK
 */

public class DeKPopupMenu extends JPopupMenu {
    
    Component[] contesto;

    public DeKPopupMenu(Component... c) {
        this(null, c);
    }
    
    public DeKPopupMenu(String s, Component... c) {
        super(s);
        contesto = c;
    }
    
    public void activate() {
        for (Component c: contesto)
            c.addMouseListener(new PopupListener());
    }
    
    // Listener aggiunto al componente designato per attivare il popup
    // Fonte: <http://java.sun.com/docs/books/tutor...ents/menu.html>
    
    class PopupListener extends MouseAdapter {
        
        public void mouseReleased(MouseEvent e) {
            check(e);
        }
        
        public void mousePressed(MouseEvent e) {
            check(e);
        }
        
        private void check(MouseEvent e) {
            if (e.isPopupTrigger())
                show(e.getComponent(), e.getX(), e.getY());
        }
        
    }
}