gpt4 book ai didi

JavaFX:设置场景最小尺寸,不包括装饰

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:25 24 4
gpt4 key购买 nike

我知道使用 JavaFX 可以使用 stage.setMinWidth()stage.setMinHeight() 设置 Stage 最小尺寸,但是,这将包括窗口边框(带有最小化、最大化和关闭按钮)。

设置最小尺寸时如何排除它?

最佳答案

您可以显示未修饰的 Stage,这将删除所有边框:

primaryStage.initStyle(StageStyle.UNDECORATED);

如果你想装饰它

如果你想装饰它,你可以将 Scene 的大小设置为首选的最小大小,然后显示窗口(Stage 的大小为能够以您实际需要的最小尺寸显示场景),然后将最小尺寸设置为当前尺寸。

示例:

public class Main extends Application {

private final int PREF_MIN_WIDTH = 500;
private final int PREF_MIN_HEIGHT = 500;

@Override
public void start(Stage primaryStage) {
try {
Scene scene = new Scene(new HBox(), PREF_MIN_WIDTH, PREF_MIN_HEIGHT);

primaryStage.setScene(scene);
primaryStage.showingProperty().addListener((observable, oldValue, showing) -> {
if(showing) {
primaryStage.setMinHeight(primaryStage.getHeight());
primaryStage.setMinWidth(primaryStage.getWidth());
primaryStage.setTitle("My mininal size is: W"+ primaryStage.getMinWidth()+" H"+primaryStage.getMinHeight());
}
});

primaryStage.show();

} catch(Exception e) {
e.printStackTrace();
}
}

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

这将产生一个像这样的窗口:

enter image description here

关于JavaFX:设置场景最小尺寸,不包括装饰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37603939/

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