水平滚动监听器

时间:2016-04-24 20:30:59

标签: java horizontal-scrolling

我觉得我已经搜索了一半的网络并找不到解决方案...... 我有一个显示地图的java应用程序(不同国家等)  目前,您可以使用鼠标滚轮向下和向上滚动...
我想要它,你可以横向滚动(水平)。
我需要的只是一个Listener(在Swing或Javafx无关紧要),只要鼠标滚轮倾斜就会触发,而不需要地图的焦点(用鼠标悬停应该足够窗户应该仍然聚焦)并且没有任何可见滚动条。

1 个答案:

答案 0 :(得分:2)

每次向侧面滚动时都使用以下代码打印出一条消息......

import javafx.application.Application;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.event.EventType;
import javafx.scene.Scene;
import javafx.scene.input.ScrollEvent;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;


public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            BorderPane root = new BorderPane();
            Scene scene = new Scene(root,400,400);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            scene.setOnScroll(new EventHandler<ScrollEvent>(){

                @Override
                public void handle(ScrollEvent event) {
                    System.out.println("Scroll:" + event.getDeltaX());
                }
            });
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}

要考虑的一件事: 显然,当将JFXPanel嵌入到JFrame中时,横向滚动事件不会通过。