انقر بزر الماوس الأيمن في Javafx؟
سؤال
كيف يمكنني الكشف عن / التعامل مع النقر بزر الماوس الأيمن في Javafx؟
المحلول
هنا طريقة واحدة:
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
import javafx.scene.input.*;
var r = Rectangle {
x: 50, y: 50
width: 120, height: 120
fill: Color.RED
onMouseClicked: function(e:MouseEvent):Void {
if (e.button == MouseButton.SECONDARY) {
println("Right button clicked");
}
}
}
Stage {
title : "ClickTest"
scene: Scene {
width: 200
height: 200
content: [ r ]
}
}
نصائح أخرى
إذا كنت تتساءل عن التعامل مع الأحداث النقدية بزر الماوس الأيمن في Javafx، والعثور على إجابة 2009 قديمة إلى حد ما من الآن ... وهنا مثال عمل في Java 11 (OpenJFX):
public class RightClickApplication extends Application
{
@Override
public void start(Stage primaryStage) throws Exception
{
primaryStage.setTitle("Example");
Rectangle rectangle = new Rectangle(100, 100);
BorderPane pane = new BorderPane();
pane.getChildren().add(rectangle);
rectangle.setOnMouseClicked(event ->
{
if (event.getButton() == MouseButton.PRIMARY)
{
rectangle.setFill(Color.GREEN);
} else if (event.getButton() == MouseButton.SECONDARY)
{
rectangle.setFill(Color.RED);
}
});
primaryStage.setScene(new Scene(pane, 200, 200));
primaryStage.show();
}
}
لا تنتمي إلى StackOverflow