javaFX 2.0 将组件设置为直接父级的全宽和全高
如何获取父窗格的完整宽度和高度。TextArea
我试过这个:
TextArea textArea = new TextArea();
textArea.setScaleX( 100 );
textArea.setScaleY( 100 );
但是覆盖了顶部 via 中定义的元素。
减少没有效果。parent.setTop(...)
scaleY
我还需要做些什么才能实现此目的?
谢谢
如何获取父窗格的完整宽度和高度。TextArea
我试过这个:
TextArea textArea = new TextArea();
textArea.setScaleX( 100 );
textArea.setScaleY( 100 );
但是覆盖了顶部 via 中定义的元素。
减少没有效果。parent.setTop(...)
scaleY
我还需要做些什么才能实现此目的?
谢谢
MAX_VALUE解决方案有点笨拙,可能会导致性能问题。此外,这个问题的答案可能取决于你的父容器是什么。无论如何,更好的方法是这样的:
textArea.prefWidthProperty().bind(<parentControl>.prefWidthProperty());
textArea.prefHeightProperty().bind(<parentConrol>.prefHeightProperty());
您可能还希望将首选属性绑定到实际属性,尤其是在父级使用其计算维度而不是显式维度时:
textArea.prefWidthProperty().bind(<parentControl>.widthProperty());
textArea.prefHeightProperty().bind(<parentConrol>.heightProperty());
也可以通过在不使用绑定的情况下执行此操作,方法是重写父容器的 layoutChildren() 方法并调用
textArea.resize(getWidth(), getHeight());
别忘了调用 super.layoutChildren()...
用这个解决了
textArea.setPrefSize( Double.MAX_VALUE, Double.MAX_VALUE );