Scala MouseEvent - Wie weiß man, welche Taste gedrückt wurde?

8

Ich schreibe eine Scala-Anwendung mit Scala Swing. Ich kann auf MouseClicked warten, um benachrichtigt zu werden, wenn die Maus geklickt wird, aber woher weiß ich, welche Taste gedrückt wurde. Die Dokumentation ist ziemlich schlecht, also habe ich in der Java-Dokumentation nach MouseEvent gesucht, was besagt, dass der Schlüssel aus dem Modifikatoren-Feld abgerufen werden kann. Daher habe ich versucht, das Modifikationsfeld des Scala MouseClicked -Ereignisses auszugeben out für eine Ganzzahl, 0 für Linksklick, Maustaste 3 und Maustaste 4 und 256 für Rechtsklick.

Es sieht so aus, als würde es funktionieren, wenn ich nur den Unterschied zwischen linkem und rechtem Klick kennen muss, aber kann ich sicher sein, dass die Modifikatoren alle Möglichkeiten auf diese Weise funktionieren? Die Dokumentation sagt nichts, und für das, was ich weiß, könnten Modifikatoren von anderen Dingen beeinflusst werden als nur, welche Maustaste gedrückt wurde. Ich möchte auch den Unterschied zwischen Linksklick und Maustaste 3 und 4 kennen. Ich glaube nicht, dass die Benutzer erwarten, dass sie dasselbe tun wie Linksklick.

In der Scala-Dokumentation gibt es MouseButtonEvent , kann das für irgendwas verwendet werden? Die Dokumentation sagt nichts darüber aus, was es tut.

    
Andreas Vinter-Hviid 13.09.2010, 13:16
quelle

1 Antwort

5

Sie können immer x.peer.getButton verwenden, um das Java-Mapping zu erhalten (wobei x Ihr Scala MouseClicked -Ereignis ist). peer enthält fast immer ein Java, das der Scala-Klasse entspricht - und in diesem Fall auch.

    
Rex Kerr 13.09.2010, 13:22
quelle

Tags und Links