问题描述
||
如何使“ 0”占据父窗格的整个宽度和高度。
我尝试了这个:
TextArea textArea = new TextArea();
textArea.setScaleX( 100 );
textArea.setScaleY( 100 );
但是覆盖了通过“ 2”在顶部定义的元素。
降低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 );
, 您可以通过将ѭ0放入ѭ9中来实现。
Stage stage = new Stage();
stage.setTitle(\"Resizing TextArea\");
final BorderPane border = new BorderPane();
Scene scene = new Scene(border);
TextArea textArea = new TextArea();
textArea.setStyle(\"-fx-background-color: #aabbcc;\");
border.setCenter(textArea);
primaryStage.setScene(scene);
primaryStage.setVisible(true);
您也可以将其放置在HBox
或ѭ12inside中。然后将调整大小限制为水平/垂直方向。不知道这是否是一个问题。
, <TextArea style=\"-fx-pref-height: 10px;\"/>
, 您可以通过创建一个CSS文件来做到这一点。
textarea
{
width://your width
}