gpt4 book ai didi

JavaFX:为什么 stage.setResizable(false) 会导致额外的边距?

转载 作者:IT老高 更新时间:2023-10-28 20:57:04 26 4
gpt4 key购买 nike

这个小型 JavaFX 测试应用程序

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class ApplicationWithNonResizableStage extends Application {

public static void main(final String[] args) {
launch(args);
}

@Override
public void start(final Stage primaryStage) throws Exception {
final Rectangle rectangle = new Rectangle(200, 100, Color.POWDERBLUE);
final BorderPane pane = new BorderPane(rectangle);
final Scene scene = new Scene(pane);
primaryStage.setScene(scene);
primaryStage.setResizable(false);
primaryStage.show();
}
}

生成一个带有不需要的填充的窗口:

stage with margin

去掉调用primaryStage.setResizable(false)也去掉效果:

stage without margin

出了什么问题?

最佳答案

正如已经评论的那样,!/resizable 的这种不同行为闻起来像一个错误(有人可能会考虑提交问题 ;-)

一种更短(比手动调整大小)的方法是明确地使舞台适合场景:

primaryStage.setScene(scene);
primaryStage.setResizable(false);
primaryStage.sizeToScene();

刚刚注意到这适用于 jdk8,但不适用于 jdk7。

为方便起见,更新了错误:jewelsea 提交的原始报告已作为(在新坐标中)https://bugs.openjdk.java.net/browse/JDK-8089008 的副本关闭。 - 仍然开放,评论为仅限胜利。

关于JavaFX:为什么 stage.setResizable(false) 会导致额外的边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20732100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com