【发布时间】:2014-02-09 05:58:30
【问题描述】:
我有一个看起来像键盘的网格窗格,我需要合并一些单元格以放置一个“空格”按钮。但是我在网格窗格的设置中找不到任何可以解决我的问题的选项。有没有人有知道如何实现它?
【问题讨论】:
标签: javafx javafx-2 scenebuilder
我有一个看起来像键盘的网格窗格,我需要合并一些单元格以放置一个“空格”按钮。但是我在网格窗格的设置中找不到任何可以解决我的问题的选项。有没有人有知道如何实现它?
【问题讨论】:
标签: javafx javafx-2 scenebuilder
设置您的网格其中包含项目
在这个阶段选择网格中的一个节点是非常非常重要的。 . .
之后:
A.使用菜单项
Modify | GridPane 选择任何一个
Increase Row Span
Decrease Row Span
Increase Column Span
Decrease Column Span
B.使用布局面板
布局说明
要真正得到一些东西来填充网格并以您想要的方式跨越行或列,您可能需要修改节点的其他布局参数或布局面板中的网格约束。例如,按钮通常不会超出其首选大小,因此将其最大高度和宽度设置为 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>
【讨论】: