Überschreibt den MouseWheelListener in Swing

8

Ich möchte den Mausrad-Listener in Swing überschreiben, aber nur, wenn er die Steuertaste gedrückt hat. Der Zuhörer wird an eine JPanel angehängt, so dass er beim Scrollen des Rades die JScrollPane scrollt und wenn er die Steuertaste gedrückt hat und das Rad scrollt, wird er hineinzoomen. Der Standard Scroll von JScrollPane funktioniert (offensichtlich) bevor ich ihn überschreibe mit meinem eigenen Zuhörer. Hier ist mein Code:

%Vor%

Gibt es eine Möglichkeit, etwas wie "Wenn die Maus alleine gescrollt wird, dann das voreingestellte JScrollPane Scroll-Verhalten zu tun, aber wenn Strg gedrückt wird, dann zoomen"?

    
maloney 05.11.2012, 10:33
quelle

2 Antworten

7

Sie können das Ereignis an das übergeordnete Element senden, wenn Sie es nicht behandeln möchten:

%Vor%     
kleopatra 05.11.2012, 11:06
quelle
0

Hinweis: Überschreiben Sie die mouseWheelListener .

zwei Funktionen: scroll() und andere zoom .

Überprüfen Sie auf CTRL keyPress im Listener.

Wenn gedrückt, rufen Sie zoom() else scroll()

auf

beziehen Sie sich auf wie man einen Swing-Listener schreibt , um sich leiten zu lassen.

    
Mukul Goel 05.11.2012 10:37
quelle

Tags und Links