我试图调整一些窗格的大小,如果一个元素有LayoutX < 0. 我已经创建了一个存储偏移量来调整大小的DoubeProperty。节点没有调整大小
监听器是这样的:
offset.addListener((observable, oldValue, newValue) -> {
if(newValue.doubleValue() > 0) {
setPrefWidth(getWidth() + newValue.doubleValue());
}
});
但TE节点没有; T改变他的财产。当我点击元素时,我看到偏移量比0更多。我如何强制调整大小?
我也想用绑定:
prefWidthProperty().bind(Bindings.when(Bindings.isNotEmpty(children))
.then(Bindings.when(offset.greaterThan(0))
.then(widthProperty().add(offset))
.otherwise(widthProperty()))
.otherwise(MINIMAL_RELATION_WIDTH)
);
但相同的结果。奇怪的是,如果我添加一个事件悬停到其他元素(例如阴影),改变BoundsInLocalProperty ..我看到,调整大小执行afet悬停在元素上。我不明白为什么