【问题标题】:How to merge cells in JavaFX Scene builder?如何在 JavaFX 场景构建器中合并单元格?
【发布时间】:2014-02-09 05:58:30
【问题描述】:

我有一个看起来像键盘的网格窗格,我需要合并一些单元格以放置一个“空格”按钮。但是我在网格窗格的设置中找不到任何可以解决我的问题的选项。有没有人有知道如何实现它?

【问题讨论】:

    标签: javafx javafx-2 scenebuilder


    【解决方案1】:

    设置您的网格其中包含项目

    1. 创建一个 GridPane。
    2. 在网格中放置节点。
    3. 在网格中选择一个节点。

    在这个阶段选择网格中的一个节点是非常非常重要的。 . .

    之后:

    A.使用菜单项

    1. 选择Modify | GridPane
    2. 选择任何一个

      Increase Row Span
      Decrease Row Span
      Increase Column Span
      Decrease Column Span
      

    B.使用布局面板

    1. 修改行跨度或列跨度值。

    布局说明

    要真正得到一些东西来填充网格并以您想要的方式跨越行或列,您可能需要修改节点的其他布局参数或布局面板中的网格约束。例如,按钮通常不会超出其首选大小,因此将其最大高度和宽度设置为 MAX_VALUE。另一个例子是让一个标签在两列中居中,将其 Hgrow 设置为 ALWAYS 并将其 Halignment 设置为 CENTER。

    示例截图

    有用于设置行和列跨度的菜单项,在最右侧也有相同的布局文本字段。不幸的是,StackOverflow 压缩了图片并使其有点模糊。

    FXML 示例

    <?xml version="1.0" encoding="UTF-8"?>
    
    <?import java.lang.*?>
    <?import java.util.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>
    <?import javafx.scene.paint.*?>
    
    <AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
      <children>
        <GridPane layoutX="116.0" layoutY="155.0">
          <children>
            <Button maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" text="Button" GridPane.columnIndex="0" GridPane.columnSpan="2147483647" GridPane.hgrow="ALWAYS" GridPane.rowIndex="1" GridPane.vgrow="ALWAYS" />
            <Label text="Label" GridPane.columnIndex="0" GridPane.rowIndex="0" />
            <Label maxWidth="-1.0" text="Label" GridPane.columnIndex="1" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.hgrow="ALWAYS" GridPane.rowIndex="0" />
            <Label text="Label" GridPane.columnIndex="0" GridPane.rowIndex="2" />
            <Label text="Label" GridPane.columnIndex="1" GridPane.rowIndex="2" GridPane.rowSpan="2" />
            <Label text="Label" GridPane.columnIndex="2" GridPane.rowIndex="2" />
            <Label text="Label" GridPane.columnIndex="2" GridPane.rowIndex="3" />
          </children>
          <columnConstraints>
            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
          </columnConstraints>
          <rowConstraints>
            <RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
          </rowConstraints>
        </GridPane>
      </children>
    </AnchorPane>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-03
      • 2015-01-20
      • 2014-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多