resize - 网格调整大小

标签 resize constraints javafx layout-manager

我想要一个网格面板布局,如附图所示。任何人都知道该怎么做还是我使用了错误的布局? enter image description here

最佳答案

您可以使用列和行约束来控制 GridPane 中不同行和列的增长方式。

这样做的方法是将第一列的 hgrow 属性设置为 ALWAYS,并将第一行的 vgrow 属性设置为 ALWAYS - 这意味着顶部左侧单元格将始终展开。您可以将其他单元格设置为固定的宽度/高度,否则它们将展开以适应其内容,而不会更多。

我已经包含了一个 FXML 示例,GridPane 位于 AnchorPane 内,并锚定在 AnchorPane 的顶部、左下角和右侧。这意味着 GridPane 将增长以填充父 AnchorPane:

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>

<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml">
  <children>
    <GridPane AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
      <columnConstraints>
        <ColumnConstraints hgrow="ALWAYS" />
        <ColumnConstraints prefWidth="150" />
      </columnConstraints>
      <rowConstraints>
        <RowConstraints vgrow="ALWAYS" />
        <RowConstraints prefHeight="150" />
      </rowConstraints>
    </GridPane>
  </children>
</AnchorPane>

这会产生此处所示的布局,并展开以填充父 Pane :

Resulting Layout

关于resize - 网格调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14390261/

相关文章:

java - 如何在 DatePicker JavaFx 中更改颜色线

java - 当达到 JavaFX 中 PathTransition 的一半时触发事件

javascript - 如何根据需要调整文本大小?

java - JPanel JPanel 内部

C# 通用序列化实用程序类

ios - 正确设置 PureLayout 约束?

ios - 在 Swift 中向 NSLayoutAnchor 约束添加乘数

android - 使用 onTouchListener 调整 View 大小

css - 调整浏览器窗口大小时出现问题

javafx - TornadoFX:标签文本未更新