在我正在开发的JavaFX程序中,我有一个StackPane.第一个孩子是BorderPane,里面有其他东西.
我希望能够显示弹出窗口,除了弹出窗口之外的所有内容都会变暗,以创建额外的焦点.这就是为什么我创建了一个扩展StackPane的"DarkenStackPane".在创建时(在构造函数中),它为其子项添加一个0.0不透明度的Rectangle.它有两个函数,darken()和brighten().darken()的FadeTransition从0.0到0.5,亮相()相反.
我在StackPane中添加了一个Pane,它调用了darken()函数.darken()函数首先将黑色矩形置于前面,然后将窗格置于前面.
它工作正常,但StackPane调整其所有子项的大小以适应其大小...我不希望这发生.相反,我希望弹出窗格有自己的宽度和高度,以StackPane为中心.
我知道我可以使用StackPane.setMargin(它适用于硬编码值),但我无法确定正确的边距因为创建时Pane还没有父级.
当您的Pane被添加到父级时,是否有任何方法被调用?
我尝试使用ChangeListener执行此操作,但我无法绑定匿名函数中的属性.