gpt4 book ai didi

javafx - 如何在 JavaFx 的 GridPane 中添加空行?

转载 作者:行者123 更新时间:2023-12-03 14:12:16 28 4
gpt4 key购买 nike

我想在循环中每 x 行的行之间添加一点空间。我发现将空行添加到 GridPane 比在行上设置特定约束更好。问题是我不知道应该在该行中放入哪个节点来伪造空元素。我可以通过放置 let say Text 节点来完成。但这真的正确吗?谁能提供更优雅的解决方案?

gridPane.addRow(i, new Text(""));

最佳答案

使用带有空字符串的 Text 节点来创建空的 gridpane 行是可以的。

作为替代方案,下面的示例使用一个 Pane 为空网格行创建一个“ Spring ”节点,该节点可以将其首选高度设置为任何所需的值,以实现您想要的任何间隙大小。此外,如有必要,还可以通过 css 设置 spring 节点的样式。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

// GridPane with a blank row
// http://stackoverflow.com/questions/11934045/how-to-add-empty-row-in-gridpane-in-javafx
public class GridPaneWithEmptyRowSample extends Application {
public static void main(String[] args) { launch(args); }
@Override public void start(final Stage stage) throws Exception {
// create nodes for the grid.
final Label label1 = new Label("Label 1");
final Label label2 = new Label("Label 2");
final Label label3 = new Label("Label 3");
final Pane spring = new Pane();
spring.minHeightProperty().bind(label1.heightProperty());

// layout the scene.
final GridPane layout = new GridPane();
layout.add(label1, 0, 0);
layout.add(spring, 0, 1);
layout.add(label2, 0, 2);
layout.add(label3, 0, 3);
layout.setPrefHeight(100);
stage.setScene(new Scene(layout));
stage.show();
}
}

关于javafx - 如何在 JavaFx 的 GridPane 中添加空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11934045/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com