JavaFX:如何平移包含按钮子项的滚动窗格?
在JavaFX中,我有一个JavaFX:如何平移包含按钮子项的滚动窗格?,javafx,touch,mouseevent,javafx-8,Javafx,Touch,Mouseevent,Javafx 8,在JavaFX中,我有一个滚动窗格,其中包含一个TilePane,其中包含各种按钮s 此应用程序将在触摸屏上运行,因此用户将通过在滚动窗格中拖动手指来滚动,但如果手指开始在子按钮上拖动,则滚动窗格不会滚动。由于touch UI目前的工作方式,这对于用户来说是意外的行为 我希望按钮响应单击,但我希望拖动事件被发送到底层滚动窗格(如果它使用拖动事件平移) 我已经将ScrollPane的setPannable()属性设置为true,并尝试在按钮上设置各种setOnDrag*()方法的处理程序,然后触发
滚动窗格
,其中包含一个TilePane
,其中包含各种按钮
s
此应用程序将在触摸屏上运行,因此用户将通过在滚动窗格中拖动手指来滚动,但如果手指开始在子按钮上拖动,则滚动窗格不会滚动。由于touch UI目前的工作方式,这对于用户来说是意外的行为
我希望按钮响应单击,但我希望拖动事件被发送到底层滚动窗格(如果它使用拖动事件平移)
我已经将ScrollPane
的setPannable()
属性设置为true,并尝试在按钮上设置各种setOnDrag*()
方法的处理程序,然后触发ScrollPane
的fireEvent()
方法,但没有发生任何事情
例如:
button.setOnDragDone(new EventHandler<DragEvent>() {
@Override
public void handle(DragEvent event) {
scrollPane.fireEvent(event);
}
});
button.setOnDragDone(新的EventHandler(){
@凌驾
公共无效句柄(DrageEvent事件){
滚动窗格。fireEvent(事件);
}
});
我应该怎么做呢?试试这个,在滚动窗格上使用触摸事件,例如
ScrollPane.addEventHandler(TouchEvent.ANY, new EventHandler<TouchEvent>() {
@Override
public void handle(TouchEvent t) {
t.consume();
}
});
ScrollPane.addEventHandler(TouchEvent.ANY,new EventHandler()){
@凌驾
公共无效句柄(TouchEvent t){
t、 消费();
}
});