How do I center an Image view in an anchor pane?

前端 未结 3 860
天涯浪人
天涯浪人 2021-01-19 04:20

I am using scene builder to create my GUI and I am displaying Images as users select items in a list. The Images are of different sizes and when an

3条回答
  •  别那么骄傲
    2021-01-19 04:58

    A simple way to make small images dynamically centered :

    import javafx.application.Application;
    import javafx.geometry.Pos;
    import javafx.scene.Scene;
    import javafx.scene.image.Image;
    import javafx.scene.image.ImageView;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;
    
    public class CenterInStage extends Application {
    
        private final String TITLE = "Center in Stage";
        private final double WIDTH = 350;
        private final double HEIGHT = 250;
        private final String IMAGE_PATH =
                "http://icons.iconarchive.com/icons/iconka/meow-2/64/cat-rascal-icon.png";
    
        @Override
        public void start(Stage primaryStage) {
    
            primaryStage.setTitle(TITLE);
    
            Image image = new Image(IMAGE_PATH);
            ImageView imageView = new ImageView(image);
            imageView.setPreserveRatio(true);
    
            StackPane pane = new StackPane();
            pane.getChildren().add(imageView);
            StackPane.setAlignment(imageView, Pos.CENTER);
    
            Scene scene = new Scene(pane, WIDTH, HEIGHT);
    
            primaryStage.setScene(scene);
            primaryStage.show();
        }
    
        public static void main(String[] args) {
            launch(args);
        }
    }
    

提交回复
热议问题