Ich versuche gerade, einen Minesweeper mit scala zu programmieren, aber ich finde keinen Weg, einen Rechtsklick auf eine Schaltfläche zu hören.
Ich habe bereits im Internet nach dem Weg gesucht, aber ich konnte es definitiv nicht finden.
Wenn mir jemand helfen könnte, wäre ich wirklich dankbar:)
Danke,
Schnipp
(Hinweis: Scala ist eine neue Sprache für mich und ich bin kein Java-Benutzer, also tut es mir leid, wenn meine Fragen dumm klingen)
BEARBEITEN:
Ich versuche eine Funktion 'ButtonClickedRight' zu finden (oder zu implementieren), die einem Rechtsklick auf eine Schaltfläche zuhören könnte.
gefällt das
%Vor%EDIT 2 -
Ich würde gerne wissen, ob der Benutzer auf den Button "1" geklickt hat oder nicht. Das Problem, das ich habe, ist, dass dieser Code druckt "Maus klickte auf" + e.point + "Typ" + e.modifiers, wenn ich auf das Etikett, aber nicht auf die Schaltfläche klicken.
%Vor% Schaltflächenereignisse werden über einen bestimmten Publisher .mouse.clicks
ausgelöst.
Beachten Sie, dass zumindest mein rechter Knopf die Nummer 3 nicht 2 hat. Sie könnten auch das Flag triggersPopup
verwenden, aber dann müssen Sie sicherstellen, dass sowohl MousePressed
als auch MouseReleased
überwacht werden, da dieses Flag platform- ist. abhängig.
Ich denke, dass Sie auf dem richtigen Weg sind, denn ich verstehe das Scala-Schwingen. Ich denke, das Problem ist, dass Sie den Hörer nicht richtig anschließen. Zum einen würde ich die Schaltfläche einem Wert zuweisen und lifeTo nur darauf ansprechen:
%Vor% Dann würde ich in den Reaktionen die Musterprüfung schreiben, wenn sie von der Schaltfläche kommt (wahrscheinlich redundant, wenn Sie nur listenTo
aufrufen und die Schaltfläche übergeben) und dass sie die richtige Schaltfläche hat:
Der Code, den Sie in Ihrer Bearbeitung angegeben haben, würde also wie folgt aussehen:
%Vor%Tags und Links scala swing button right-click