# Netbeans JPopUpMenu WTF?!



## Zentrum (13. Jul 2010)

Hallöle,

ich suche seit geraumer Zeit wo ich das JPopUpMenu zu meiner JList hinzufügen kann, dass finde ich einfach nicht
kenne eben nur das mit vollständigem Programmieren dann funktioniert es aber wie kann ich es bei Netbeans erreichen das eben das JPopUPMenu nur geöffnet wird wenn auf die JList ein rechtsklick regstriert.

Danke für die tolle hilfe 

Zentrum!


----------



## Marco13 (13. Jul 2010)

Ein kleines, compilierbares Beispielprogramm, aufbauend auf http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/components/menu.html , wo man eine List und die bisherigen Versuche sieht.


----------



## Daniel_L (14. Jul 2010)

Also, ich füge das jPopupMenu allgemein zur Form hinzu, und erstelle dann einen Mouse-Listener für die jList:

```
jListEntryKeywords.addMouseListener(new java.awt.event.MouseAdapter() {
            @Override public void mousePressed(java.awt.event.MouseEvent evt) {
                // check whether the popup-trigger-mouse-key was pressed
                if (evt.isPopupTrigger() && !jPopupMenuKeywordList.isVisible()) jPopupMenuKeywordList.show(jListEntryKeywords, evt.getPoint().x, evt.getPoint().y);
            }
            @Override public void mouseReleased(java.awt.event.MouseEvent evt) {
                // check whether the popup-trigger-mouse-key was pressed
                if (evt.isPopupTrigger() && !jPopupMenuKeywordList.isVisible()) jPopupMenuKeywordList.show(jListEntryKeywords, evt.getPoint().x, evt.getPoint().y);
            }
            @Override public void mouseClicked(java.awt.event.MouseEvent evt) {
                // this listener should only react on left-mouse-button-clicks...
                // if other button then left-button clicked, leeave...
                if(evt.getButton()!=MouseEvent.BUTTON1) return;
                // on single click...
                if (1==evt.getClickCount() && displayedZettel==data.getCurrentZettelPos()) {
                    // filter links
                    filterLinks();
                    highlightSegs();
                }
                // or search keyword on double click
                else if (2==evt.getClickCount()) searchKeywordsFromListLogAnd();
            }
        });
```


----------

