# jList + mouseevent (rechtsklick)



## Guest (14. Jun 2006)

Hallo,

ich benutze momentan eine JList und möchte, dass bei Rechtsklick sich zu dieser ein Kontextmenü öffnet. An sich einfach zu realisieren, indem man der Liste einen Mouselistener verpasst (Mouseadapter) und dann auf rechtsklick überprüft. 
Allerdings soll das Menü abhängig sein, über welchem "Eintrag" der JList der rechtsklick ausgeführt wird. 
Wenn ich die per Hilfe gefunden Beiträge richtig interpretiere, kann ich direkt dem Label (dem eintrag wenn man so will, eigner ListRenderer existiert) keine Listener verpassen. Deshalb dachte ich daran, das man an der Position wo man den rechtsklick ausführt, das programm einen "linksklick" ausführen lässt - um herrauszufinden, über welchem eintrag er sich befindet.

Frage: Ist das möglich und wenn ja wie. 
Frage2: Geht es auch anders?


----------



## thE_29 (14. Jun 2006)

API?

Das steht in der API:

JList doesn't provide any special support for handling double or triple (or N) mouse clicks however it's easy to handle them using a MouseListener. Use the JList method locationToIndex() to determine what cell was clicked. 
For example:  

```
final JList list = new JList(dataModel);
 MouseListener mouseListener = new MouseAdapter() {
     public void mouseClicked(MouseEvent e) {
         if (e.getClickCount() == 2) {
             int index = list.locationToIndex(e.getPoint());
             System.out.println("Double clicked on Item " + index);
          }
     }
 };
 list.addMouseListener(mouseListener);
```



Rat mal mit welcher Methode man den index kriegt 

Und ob der Punkt durch rechts oder links ausgelöst wurde is egal


----------

