如何根据Label
行高和列宽设置GridPane
的高度和宽度?
请查看我的下图
我想针对Label
行高和列宽调整GridPane
的大小。
通过代码我正在设置标签的背景颜色,如下所示。
if(cmnd1.WIM.equals("Y")){
javafx.application.Platform.runLater( new Runnable() {
@Override
public void run() {
lsduController1.oneWIM.setGraphic(new ImageView(new Image("/images/Wim_T.png")));
lsduController1.oneWIM.setStyle("-fx-background-color: none;");
}
});
} else {
javafx.application.Platform.runLater( new Runnable() {
@Override
public void run() {
lsduController1.oneWIM.setGraphic(new ImageView(new Image("/images/Wim_F.png")));
lsduController1.oneWIM.setStyle("-fx-background-color: Red;");
}
});
}
答案 0 :(得分:0)
此处的问题是将maxSize
和USE_COMPUTED_SIZE
设置为MAX_VALUE
。
使用<Label style="-fx-background-color: red;" text="Label">
<maxHeight>
<Double fx:constant="MAX_VALUE"/>
</maxHeight>
<maxWidth>
<Double fx:constant="MAX_VALUE"/>
</maxWidth>
</Label>
代替
ImageView
(这也应该从SceneBuilder的下拉列表中获得。)
要调整fitWidth
的大小,请将fitHeight
和ImageView imageView = new ImageView(new Image("/images/Wim_F.png"));
imageView.setPreserveRatio(true);
imageView.fitWidthProperty().bind(lsduController1.oneWIM.widthProperty().subtract(10d));
imageView.fitHeightProperty().bind(lsduController1.oneWIM.heightProperty().subtract(10d));
lsduController1.oneWIM.setGraphic(imageView);
属性绑定到标签大小。 E.g:
{{1}}