1
scrollpane
에 대한 내장 패닝 도구의 문제로 인해 안녕하세요. 천천히 실행되고 유동적이지 않고 청크로 전환됩니다. 사용자 지정 패닝 처리기를 만들려고합니다. 아래는 내 시도이지만 if 문은 올바르게 작동하지 않습니다.사용자 정의 패닝 처리기 Javafx
mapScroll.addEventFilter(MouseEvent.MOUSE_PRESSED, e -> {
startX = e.getX();
startY = e.getY();
});
mapScroll.addEventFilter(MouseEvent.MOUSE_DRAGGED, e -> {
endX = e.getX();
endY = e.getY();
Bounds viewBounds = mapScroll.getViewportBounds();
Bounds mapBounds = mapScroll.getBoundsInParent();
double xMin = viewBounds.getMinX();
double xMax = viewBounds.getMaxX();
double yMin = viewBounds.getMinY();
double yMax = viewBounds.getMaxY();
double startEndX = endX - startX;
double startEndY = endY - startY;
if(mapBounds.contains(xMin + startEndX, yMin + startEndY) && mapBounds.contains(xMin + startEndX, yMax + startEndY) && mapBounds.contains(xMax + startEndX, yMin + startEndY) && mapBounds.contains(xMax + startEndX, yMax + startEndY))
{
double fullWidth = mapScroll.getWidth();
double fullHeight = mapScroll.getHeight();
double hChange = startEndX/fullWidth;
double vChange = startEndY/fullHeight;
mapScroll.setHvalue(mapScroll.getHvalue() + hChange);
mapScroll.setVvalue(mapScroll.getVvalue() + vChange);
}
endX = startX;
endY = startY;
});