gpt4 book ai didi

java - 全屏模式下的分隔线位置

转载 作者:行者123 更新时间:2023-12-01 10:50:10 26 4
gpt4 key购买 nike

我尝试了使用各种参数的setDividerPositions,但是无论我在分割 Pane 内提供的两个堆栈 Pane 的宽度如何,都具有相同的宽度。这是我的简单代码:

 SplitPane sp = new SplitPane();
final StackPane sp1 = new StackPane();
final StackPane sp2 = new StackPane();
sp.getItems().addAll(sp1, sp2);
sp.setDividerPositions(0.3); // tried (0.3, 0.7) and other variants but does not work
Scene scene = new Scene(sp);
primaryStage.setFullScreen(true);
primaryStage.setScene(scene);
primaryStage.show();

所以,我不知道如何让它工作,以便左 Pane 的宽度为 30%,右 Pane 的宽度为 70%。谢谢!

PS。 JavaFX 中似乎存在一个错误,因为当我启动该程序时,最上面的带有关闭和调整大小按钮的栏是不可见的,但只有当我按 Esc 键时才可见。 (但可能我做错了什么)

最佳答案

Jacobian,问题似乎在于将 FullScreen 选项设置为 true。删除该语句并重试。另外,为场景指定初始高度和宽度值。您可以通过为其提供一些默认值或获取用户屏幕尺寸并使用这些设置来实现此目的。您可以通过设置主舞台的最小高度和宽度来阻止用户调整应用程序的大小,但用户仍然可以移动应用程序。

        SplitPane sp = new SplitPane();
final StackPane sp1 = new StackPane();
final StackPane sp2 = new StackPane();
sp.getItems().addAll( sp1 , sp2 );
double height = Screen.getPrimary().getVisualBounds().getHeight();
double width = Screen.getPrimary().getVisualBounds().getWidth();
// Scene scene = new Scene( sp, width, height );
Scene scene = new Scene( sp );
primaryStage.setScene( scene );
primaryStage.setMaximized( true );
primaryStage.setMinHeight( height );
primaryStage.setMinWidth( width );
primaryStage.show();
sp.setDividerPositions( 0.3 );

关于java - 全屏模式下的分隔线位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33961921/

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