当前位置: 首页 > 知识库问答 >
问题:

Javafx网格窗格布局调整

南门正祥
2023-03-14

我有一个小问题。我试图用JavaFX2.0创建一个好的GUI(可以调整大小),但我有一个小问题。我使用的是网格窗格,但当我在其中放置多个按钮时,当我将屏幕大小调整为较小尺寸时,按钮将以屏幕左侧的大小相互滑动。我可以为单元格或其他东西设置最小大小吗?我正在使用FXML进行设计。非常感谢你!

共有1个答案

阎咏思
2023-03-14

通过在网格窗格上指定一组列约束对象,可以设置列的最小宽度。

例如,类似这样的东西:

<GridPane hgap"5" vgap="5">
<Label text="First Name:" GridPane.rowIndex="0" GridPane.columnIndex="0" />
<TextField GridPane.rowIndex="0" GridPane.columnIndex="1" />

<Label text="Last Name:" GridPane.rowIndex="1" GridPane.columnIndex="0" />
<TextField GridPane.rowIndex="1" GridPane.columnIndex="1" />

<columnConstraints>
<ColumnConstraints minWidth="100" halignment="RIGHT" />
<ColumnConstraints minWidth="150" halignment="LEFT" />
</columnConstraints>

</GridPane>

如果需要,也可以类似地控制行的布局。

请参阅Javadocs中的GridPane和ColumnConstraints,以查看可以通过这种方式控制的其他属性。

 类似资料:
  • 我希望通过向窗格中添加gridPanes来使用JavaFX来建模一个简单的微波。微波 上面是结果应该是什么样子的,但是我在正确布置网格窗格时遇到了麻烦。

  • 我无法在SceneBuilder(eclipse)中使用GridPane,当我尝试在项目中插入GridPane时,SceneBuilder会在没有提示任何消息的情况下退出。 这就是我在日志文件中找到的:

  • 我正在使用BorderPane实现JavaFX中的布局。 假设BorderPane的maxPrefWidth设置为1000。左窗格中有一个按钮,右窗格中有一个按钮。在中心窗格中,还有一个大小未知的按钮。 如果:中间元素的宽度是500,那么左右节点的宽度应该是250。 如果:中间元素的宽度是600,那么左右节点的宽度应该是200。 有没有一种方法告诉左右窗格自动增长(水平)直到中心节点的被击中?

  • 我有一个背景窗格,用于绘制与BorderPane、VBox和HBox一起使用时不显示的对象。此外,我的BorderPane没有正确定位布局(左、下、右)。我尝试使用多个不同的窗格并向其中添加VBox和HBox,但是我遇到了类似的错误,布局与预期不符,主绘图窗格(画布)消失了。 TilePane和BorderPane是我最近的实验。我使用查看是否可以显示画布,尽管我希望画布是整个背景,而不仅仅是右边

  • 我是一个Java/JavaFX程序员新手,我正在开发一个简单的JavaFX建筑设计工具,在这个工具中,您可以画出墙壁、地板等,因此对象(主要是线、圆、多边形、矩形图像)是在屏幕上绘制和创建的,而不是在运行之前创建的。

  • 在构建场景中的所有必需节点之后,我们通常会按顺序排列它们。 容器内部件的这种布置称为容器的布局。 我们还可以说我们遵循布局,因为它包括将所有组件放置在容器内的特定位置。 JavaFX提供了几种预定义的布局,如HBox, VBox, Border Pane, Stack Pane, Text Flow, Anchor Pane, Title Pane, Grid Pane, Flow Panel等。