문제

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();
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top