Rechtsklick auf JButton

  • Themenstarter Themenstarter BananenJoe
  • Beginndatum Beginndatum
B

BananenJoe

Gast
Hallo,

ich möchte, dass beim Rechtsklick auf einen JButton eine Aktion ausgeführt wird. Für Linksklicks klappt dies schon.
Hier wurde das Thema schonmal behandelt aber die scheinbarte Lösung hilft mir nich besonders iwie :-/
http://www.java-forum.org/awt-swing-swt/5189-rechtsklick-jbutton.html" <-- alter Thread

aber wie genau muss ich die Funktion
Java:
public void mouseClicked(MouseEvent e)
{
if(e.getSource()==JButton && e.getButton()== 3){...}
}
in das Progamm einbinden? Muss ich auch den MouseListener an den Button anknüpfen wie beim ActionListener ( button.addActionListener(AL); )

mfg
 
Java:
JButton myButton = ...;

myButton.addMouseListener(new MouseAdapter()
{
    public void mouseClicked(MouseEvent event)
    {
        if (event.isPopupTrigger())
        // oder
        if (SwingUtilities.isRightMouseButton(event) && event.getClickCount() == 1)
    
        {
            JButton btn = (JButton) event.getSourc();
            btn.doClick();
            // ggfs event.consume();
        }
    }    
});
 
danke

mit deinem Beispiel klappt es. 🙂

hier wird doch jetz auch die mouseClicked(MouseEvent me); - Methode der MouseListener-Klasse überschrieben, oder? und warum muss man das nich mit @Override machen wie beim normalen ActionEvent?

mfg
 
Muss man nicht. Wenn man @Override weglässt, gibts nur ne Warnung.
Und jein, die Methode wird überschrieben, aber nicht die vom MouseListener, sondern die vom MouseAdapter.
MouseAdapter ist eine abstrakte Klasse, die das Interface MouseListener implementiert.

Hatti
 

Zurück
Oben