是否可以垂直和水平移动而不使用ScrollPane
中的滚动条我想在按下鼠标左键并且鼠标向右,向左,向上和向下移动时滚动。我应该添加听众或类似的东西吗?
提前谢谢。
答案 0 :(得分:9)
致电
scrollPane.setPannable(true);
或者,如果您使用的是FXML
<ScrollPane pannable="true" ... >
答案 1 :(得分:0)
我在&#34; setPannable(true)&#34;中发现了一个错误,如果两个拖动时间很短,则不是很平滑。
如何解决? 您需要手动使用它的事件。
private boolean dragged = false;
imageView.addEventFilter(MouseEvent.MOUSE_PRESSED, event -> {
dragged = true;
});
imageView.addEventFilter(MouseEvent.MOUSE_RELEASED, event -> {
dragged = false;
});
imageView.addEventFilter(MouseEvent.MOUSE_DRAGGED, event -> {
if (!dragged) {
event.consume();// make the drag smooth
}
});
scrollPane.setContent(imageView);
scrollPane.setPannable(true);