我不知道如何获得 StackPane 的宽度:
如果我参考http://docs.oracle.com/javafx/2.0/api/javafx/scene/layout/StackPane.html,StackPane的尺寸应该适应它的内容:
堆栈窗格的父级将在布局期间在堆栈窗格的可调整大小范围内调整堆栈窗格的大小。默认情况下,堆栈窗格根据下表中列出的内容计算此范围。
preferredWidth 左/右插图加上最大的孩子的首选项宽度。
这里的语法是 scala,但问题涉及 javafx :
import javafx.scene.layout.StackPane
import javafx.scene.shape.Rectangle
class Bubble() extends StackPane {
val rect = new Rectangle(100, 100)
getChildren.add(rect)
println(rect.getWidth)
println(this.getWidth)
}
Output :
>> 100.0
>> 0.0 <- Why isn't it 100 ?
这是一个错误还是期待的行为?如何获得 StackPane 的内容宽度?
谢谢