如何使用滚动窗格JavaFX显示比屏幕大的图像

如何使用滚动窗格JavaFX显示比屏幕大的图像,java,javafx,imageview,scrollpane,Java,Javafx,Imageview,Scrollpane,在全屏应用程序中,如何使用滚动窗格显示比屏幕大的图像?我有一个大约8000x3800像素的图像,我希望能够移动并与整个图像交互,而无需调整其大小。如果你想知道我的代码的细节或一般情况,请询问 public class SourceCodeVersion8 extends Application{ public static void main(String[] args) { launch(args); } @Override public v

在全屏应用程序中,如何使用滚动窗格显示比屏幕大的图像?我有一个大约8000x3800像素的图像,我希望能够移动并与整个图像交互,而无需调整其大小。如果你想知道我的代码的细节或一般情况,请询问

public class SourceCodeVersion8 extends Application{

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        AnchorPane mapAnchorO = addMapAnchor();
        Scene mapScene = new Scene(mapAnchorO);
        primaryStage.setScene(mapScene);
        primaryStage.setFullScreen(true);
        primaryStage.setResizable(false);
        primaryStage.show();
    }

    //Creates an AnchorPane for the map
    private AnchorPane addMapAnchor()
    {
        AnchorPane mapAnchor = new AnchorPane();
        ScrollPane mapScrollO = addMapScroll();
        mapAnchor.getChildren().add(mapScrollO);
        AnchorPane.setLeftAnchor(mapScrollO, 0.0);
        AnchorPane.setTopAnchor(mapScrollO, 0.0);
        return mapAnchor;
    }

    //Creates an ImageView for the map
    private ImageView addMapView()
    {
        Image mapImage = new Image("WorldProvincialMap-v1.01.png");
        ImageView mapView = new ImageView(mapImage);
        return mapView;
    }

    //Creates a scrollPane for the map
    private ScrollPane addMapScroll()
    {
        ScrollPane mapScroll = new ScrollPane();
        ImageView mapViewO = addMapView();
        mapScroll.setContent(mapViewO);
        mapScroll.setPannable(true);
        return mapScroll;
    }

}

您只为
滚动窗格
设置了4个定位点中的2个,这就是为什么
滚动窗格
从未调整大小,只是调整到允许显示整个图像的大小

因此,不需要滚动条,也无法进行平移

您还可以通过设置右侧和底部锚定来修复此问题。或者直接使用
滚动窗格
作为
场景的根目录

private AnchorPane addMapAnchor() {
    AnchorPane mapAnchor = new AnchorPane();
    ScrollPane mapScrollO = addMapScroll();
    mapAnchor.getChildren().add(mapScrollO);
    AnchorPane.setLeftAnchor(mapScrollO, 0.0);
    AnchorPane.setTopAnchor(mapScrollO, 0.0);
    AnchorPane.setBottomAnchor(mapScrollO, 0.0);
    AnchorPane.setRightAnchor(mapScrollO, 0.0);
    return mapAnchor;
}

我有,但它不允许平移,即使我启用了该选项。此外,即使我启用了该选项,它也不会显示滚动条。已编辑问题以包含我的代码。