如何将多个图像添加到图像视图

时间:2018-01-21 16:45:58

标签: java javafx

我试图在主图像视图中有多个图像,作为背景,所以当主图像视图移动时,其中所有其他图像将移动到但它只显示一个图像(无论哪个向下)。我将如何解决这个问题,或者有一个更简单的方法

我的代码

    masterview = new ImageView(tree);
    masterview = new ImageView(imgbg);
    masterview.setLayoutX(0);
    masterview.setLayoutY(0);

    root.getChildren().addAll(masterview);

2 个答案:

答案 0 :(得分:0)

由于ImageView只能引用一个图像,因此您可以创建一个包含数组或动态结构的不同类来保存多个ImageView对象。对于数组和动态结构,在调用时创建新对象的add方法效果很好。

您还可以在同一个类中创建数据结构。但是,如果数据结构位于不同的类中,则代码将更加清晰,未来修改多个ImageView组件的方法将更容易实现。

答案 1 :(得分:0)

与James_D所说的一样,使用多个StackPane并将其包装在合适的窗格中。

对于您的情况,final StackPane container = new StackPane(); final ImageView mainImageView = new ImageView(); final ImageView bgImageView = new ImageView(); container.getChildren().addAll(bgImageView, mainImageView); root.getChildren().add(container); 看起来合适。

ImageView

由于{{1}}彼此重叠,如果顶部的图像没有透明区域,则其下方的图像将不可见。