2016-04-24 3 views
12

Я чувствую, что искал половину Интернета и не нашел решения ...
У меня есть приложение Java, отображающее карту (разные страны и т. Д.).
В настоящее время вы можете прокручивать вниз и вверх с помощью колеса мыши ...
Я хочу, чтобы вы могли прокручивать боком (по горизонтали).
Все, что мне нужно - это прослушиватель (в Swing или Javafx не имеет значения) срабатывает всякий раз, когда колесико колесика наклоняется, без необходимости фокусировки карты (зависание с вашей мышью должно быть достаточно, чтобы окна все еще были сфокусированы) и без любые видимые полосы прокрутки.Прослушиватель горизонтальной прокрутки

+1

Что касается '' node.setOnScroll (новый EventHandler() ... ''? Он дает координаты Y и X. –

+0

Он не срабатывает при прокрутке по бокам ... – RoiEX

+0

Если бы проблема была аналогичной, это было решением http://stackoverflow.com/questions/12911506/why-jscrollpane-does-not-react-to-mouse-wheel-events JScrollPane не реагировал на свитки колесика мыши. –

ответ

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 не получает Сдал окольный событие прокрутки ,

Смежные вопросы