首页 > 解决方案 > 包裹在堆栈窗格中时图像不会显示 (tornadoFX)

问题描述

我正在尝试在上面创建一片草地和一些奶牛。使用 1 和 0 的列表来决定哪些盒子上应该有牛。然后我使用 flowpane 创建我的网格。当我尝试将牛的图像添加到堆栈窗格时,它没有显示。

这是相关代码:

    override val root = flowpane {
    this.setPrefSize(viewWidth * tileSize, viewHeight * tileSize)
        //imageview("/cow.jpg")
        for (i in hage) {
            stackpane {
                rectangle {
                    fill = GREEN
                    width = tileSize
                    height = tileSize
                    arcWidth = 5.0
                    arcHeight = 5.0
                    if (i == 1) {
                        /*circle {
                          fill = RED
                          radius = 10.0
                      }*/
                        imageview("/cow.jpg")
                    }
                }
            }
        }
}

循环/堆栈窗格显示之前的注释掉的图像(如果它没有注释掉的话),如果奶牛被表示为圆圈,堆栈窗格的工作方式是我想要的。

那么图片怎么不显示呢?

标签: kotlintornadofx

解决方案


您将您的添加ImageView到 中Rectangle,而不是StackPane. 这Rectangle是一个不渲染/支持子元素的形状。尝试将其移出rectangle {}街区:)


推荐阅读