Mit rechter Maustaste Fokus in JList setzen

ElJarno

Mitglied
Hallo zusammen,
im Prinzip das gleiche wie bei:
http://www.java-forum.org/awt-swing-swt/101898-rechte-maustaste-treenode-fokus-diese-setzen.html
Nur halt mit einer JList. Komm nicht wirklich drauf. Im Prinzip reagieren die Listener in der JList nur auf die linke Maustaste. Hab da aber nicht die passende Methode gefunden die man überschreiben könnte. Vielleicht gehts ja auch einfacher.
Mit:
Code:
liste.getComponentAt(e.getPoint());
komme ich trotzdem nur an die JList.

Danke schon mal:)


Gruß Jan
 
Zuletzt bearbeitet:
Im Prinzip reagieren die Listener in der JList nur auf die linke Maustaste. Hab da aber nicht die passende Methode gefunden die man überschreiben könnte. Vielleicht gehts ja auch einfacher.

Wer sagt das denn? Wenn du dir mal die API zu einem MouseEvent anguckst(Link), siehst du, dass es verschiedene Konstanten mit Namen BUTTON1/BUTTON2/BUTTON3 gibt und du dir vom MouseEvent mittels getButton() den int-Wert holen kannst und vergleichen kannst.

Kurzes Beispiel:

Java:
public class ButtonMouseListener extends MouseAdapter {

  @Override
  public void mouseClicked(MouseEvent e) {
    switch(e.getButton()) {
    case MouseEvent.BUTTON1: 
      {
      System.out.println("Button 1 gedrückt");
      break;
      }
    case MouseEvent.BUTTON2: 
      {
      System.out.println("Button 2 gedrückt");
      break;
      }
    case MouseEvent.BUTTON3: 
      {
      System.out.println("Button 3 gedrückt");
      break;
      }
    }
}

Ich habs eben so ähnlich getestet und bei mir hat es ergeben dass die rechte Maustaste BUTTON3 ist, jetzt musst du nur noch im entspechenden case-Bereich den Fokus setzen.
 
Ja klar, das weiß ich ja mit den Buttons. Nur weiß ich nicht wie ich den fokus in der JList setze?

Gruß Jan
 
Moin!
Prinzipiell geht es so: MouseListener hinzufügen und dann entsprechend darauf reagieren:
Code:
public void mouseClicked(MouseEvent e) {
                if(e.getButton() == MouseEvent.BUTTON3){
                    int index = yourList.locationToIndex(e.getPoint());
                     yourList..setSelectedIndex(index);
                   
                }
            }

*grüssle*
 

Neue Beiträge

Zurück