スイングアプリケーションでJavaFXタッチイベントを使用する方法はありますか?現在、JFXPanelを使用してJavaFXイベントをキャプチャしていますが、イベントを取得しようとすると、タッチイベントとマウスイベントのみが受信されません。これは、Windows 8.1のDellタッチスクリーンでテストされています。SwingアプリケーションでJavaFXタッチイベントのみを使用する
更新日:以下のコードは、私がイベントを取得するために使用しているスケルトンです。このJFXPanelは、Swingアプリケーションのガラスパネルとして使用されます。これにより、すべてのイベントをキャプチャできるglasspane用のJFXPanelが作成されます。
public class MouseEventRouter extends JFXPanel {
...
public ZeusMouseEventRouter(JMenuBar menuBar, Container contentPane) {
...
this._contentPane = contentPane;
this._contentPane.add(_JFXpanel);
this._contentPane.setVisible(true);
init();
}
private void init() {
pane = new VBox();
pane.setAlignment(Pos.CENTER);
Platform.runLater(this::createScene);
}
private void createScene() {
Scene scene = new Scene(pane);
...
scene.setOnTouchPressed(new EventHandler<javafx.scene.input.TouchEvent>() {
@Override public void handle(javafx.scene.input.TouchEvent event) {
System.out.println("tap down detected");
}
});
...
setScene(scene);
}
}
少しあなたのコードに私たちを紹介していますが、タッチを受けることができないと言っていますシーンレベルからのイベント? – Elltz
@Elltzはい、私はシーンレベルからタッチイベントを受け取ることができないと言って正しいです。もう少し詳しい情報で質問を更新しました。私はうまくいけば問題を隠すことなく、それを取り除いた。詳細を知りたい場合は教えてください – Nick