2017-01-03 42 views
1

在JavaFX中,我有一個ScrollPane其中包含一個TilePane其中包含各種Button s。JavaFX:如何平移包含Button子項的ScrollPane?

此應用程序將在觸摸屏上運行,因此用戶將通過拖動手指通過ScrollPane進行滾動,但是如果手指開始拖動子按鈕,則ScrollPane不會滾動。由於觸摸UI今天的工作方式,這對用戶來說是意想不到的行爲。

我希望按鈕響應點擊,但我希望將拖動事件發送到底層的ScrollPane(如果使用拖動事件)。

我已經設置了ScrollPane到真正的setPannable()財產,我試圖在Button設置處理的各種setOnDrag*()方法隨後擊發ScrollPanefireEvent()的方法,但是什麼都沒有發生。

例子:

button.setOnDragDone(new EventHandler<DragEvent>() { 
     @Override 
     public void handle(DragEvent event) { 
      scrollPane.fireEvent(event); 
     } 
    }); 

我應該如何去這樣做呢?

回答

0

試試這個,consumeTouchEventScrollPane如...

ScrollPane.addEventHandler(TouchEvent.ANY, new EventHandler<TouchEvent>() { 
     @Override 
     public void handle(TouchEvent t) { 
      t.consume(); 
     } 
    });  
相關問題