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

FXML:调整窗口大小时,如何将按钮保持在中间?

申屠健
2023-03-14

我试图在FXML中设计一个用户界面,并部分使用场景生成器。我使用Anchorpane来放置场景中的所有内容。但是,当我将窗口调整到更大的大小时,按钮会从中间向左移动。我想确保它们留在页面的中心。如何做到这一点?谢谢。

共有1个答案

公风史
2023-03-14

简单的方法是使用StackPane或BorderPane。对于BorderPane,您可以使用Pos.center将按钮或包含按钮的容器保持在中间位置。

如果确实需要AnchorPane,您可以在调整大小期间使用宽度和高度属性更改侦听器来调整按钮位置。

private AnchorPane anchorPane;
private Button button;

anchorPane.widthProperty().addListener((ObservableValue<? extends Number> observable, Number oldValue, Number newValue) -> {
        button.setLayoutX(newValue.doubleValue()/2 - (button.widthProperty().getValue() / 2));
    });
anchorPane.heightProperty().addListener((ObservableValue<? extends Number> observable, Number oldValue, Number newValue) -> {
        button.setLayoutY(newValue.doubleValue()/2 - (button.heightProperty().getValue() / 2));
    });
 类似资料:
  • 我有一个窗口与列表框,调整大小与彼此。我用网格来做这个。列表框下面有一排按钮,它们当前正在随着窗口移动和调整大小。我希望按钮保持原位,并在窗口和列表框调整大小时保持一致的大小(所以按钮总是保持在列表框的左下角)。 有简单的方法吗?我今天才开始使用Tkinter,所以我可能只是在文档中错过了它,或者可能只是在网格布局上感到困惑。 按钮设置如下: 我已经尝试了所有粘性组合,但那些不调整按钮大小的组合仍

  • 我有下面的代码,它设置了一个特定大小的窗口。它还从外部URL加载图像。

  • 我正在尝试构建一个包含6个窗格(作为父级添加到GridPane布局中)的简单Java项目。我必须在开始时设置窗口大小,并通过参考根布局的宽度和高度,设法将它们均匀地拆分。 但我想要他们调整大小,因为我改变了窗口的大小(使用鼠标,现在他们得到固定的大小)。 下面是我的代码:

  • 问题内容: 我正在用d3.js绘制散点图。借助以下问题: 获取屏幕,当前网页和浏览器窗口的大小 我正在使用此答案: 这样我就可以将图适合用户的窗口,如下所示: 现在,我希望在用户调整窗口大小时可以调整图的大小。 PS:我的代码中没有使用jQuery。 问题答案: 寻找“响应式SVG”,使SVG响应式非常简单,您不必再担心大小。 这是我的做法: 注意: SVG图像中的所有内容都会随窗口宽度缩放。这包

  • 窗口大小,我们可以非常方便的使用width、height调整,但是如何知道 width和height是一个问题? 在 Window 操作系统中,假如我们想要缩放,我们通常会把鼠标移动到窗口的右边栏,和底部边栏,以及右下边栏。 而且在不同的边栏,鼠标呈现的样式也是不一样的。当我们在右边栏的时候我们可以通过cursor: e-resize;模拟鼠标样式。 在底部边栏我们可以通过cursor: s-re

  • #include <stdio.h> void fun1(void) { int i = 0; i++; i = i * 2; printf("%d\n", i); } void fun2(void) { int j = 0; fun1(); j++; j = j