You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaFX中实现两个ImageView的上下垂直排列?

解决JavaFX中ImageView上下排列的问题

嘿,这事儿很好解决!你现在用的HBox是水平布局容器,天生就是用来把组件并排摆放的,所以两个ImageView才会左右显示。要让它们上下排列,换成VBox(垂直布局容器)就搞定啦,它会自动把组件从上到下依次排布。

直接修改你的代码,把HBox替换成VBox就行,其他逻辑完全不用动:

public void start(Stage primaryStage) { 
    Image image = new Image("imageresource/Tagline.jpg"); 
    ImageView imageView1 = new ImageView(image); 
    imageView1.setFitHeight(100); 
    imageView1.setPreserveRatio(true); 
    
    Image image2 = new Image("imageresource/main.jpg"); 
    ImageView imageView2 = new ImageView(image2); 
    imageView2.setFitHeight(200); 
    imageView2.setPreserveRatio(true); 
    
    // 把HBox换成VBox
    VBox vbox = new VBox(); 
    // 可选:设置图片之间的间距,让布局更美观
    vbox.setSpacing(15);
    vbox.getChildren().addAll(imageView1, imageView2); 
    
    Scene scene = new Scene(vbox); 
    primaryStage.setScene(scene); 
    primaryStage.show(); 
}

另外给你个小技巧:如果需要调整组件在垂直方向上的对齐方式,还可以用vbox.setAlignment(Pos.CENTER)这类方法,让图片居中、靠上或者靠下排列,完全根据你的需求来调整就行。

内容的提问来源于stack exchange,提问作者Sakib Nawar Tanmoy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:54:11