当前位置: 首页 > 面试题库 >

父级舞台的中心舞台

夹谷和裕
2023-03-14
问题内容

我正在JavaFx中创建一个应用程序,如果要打开任何子阶段,则应在其中进行操作,然后应在父阶段的中心打开它。我正在尝试使用mystage.centerOnScreen()它来执行此操作,但是它将子级分配到屏幕的中心,而不是父级的中心。如何将子阶段分配给父阶段的中心?

private void show(Stage parentStage) {
    mystage.initOwner(parentStage);
    mystage.initModality(Modality.WINDOW_MODAL);
    mystage.centerOnScreen();
    mystage.initStyle(StageStyle.UTILITY);
    mystage.show();
 }

问题答案:

您可以使用父级的X / Y / width / height属性来执行此操作。除了使用Stage#centerOnScreen,您可以执行以下操作:

public class CenterStage extends Application {
    @Override
    public void start(final Stage stage) throws Exception {
        stage.setX(300);
        stage.setWidth(800);
        stage.setHeight(400);
        stage.show();

        final Stage childStage = new Stage();
        childStage.setWidth(200);
        childStage.setHeight(200);
        childStage.setX(stage.getX() + stage.getWidth() / 2 - childStage.getWidth() / 2);
        childStage.setY(stage.getY() + stage.getHeight() / 2 - childStage.getHeight() / 2);
        childStage.show();
    }

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


 类似资料:
  • 问题内容: 我想在屏幕上居中放置一个舞台。 这是我尝试过的: 调用centerOnScreen()后,舞台过高。它似乎无法正常工作。我需要自己计算x和y pos吗?或者如何正确使用此功能? 问题答案: 的默认实现如下: 哪里 总是将舞台设置为比中心高一点。 要将舞台定位在精确的中心,可以使用您设置的 自定义X和Y值 。

  • 问题内容: 我要说的很对,因为我的英语不太流利,对不起。 我正在学习javafx,想要在关闭后单击X的窗口时出现警告。我知道可以通过我在窗口中间创建的按钮来执行此操作,但是我不知道如何控制用户何时按下X来关闭程序。谢谢 问题答案: 您不应该关注X,而应该关注像这样的通用关闭请求:

  • 我想知道应该如何在javaFX舞台上设置图标。我已经找到了这个方法,但它没有正常工作。 stage是javafx.stage.stage的一个实例,我已经导入了javafx.scene.image.image。这是我们收到的例外: 无效URL:找不到无效URL或资源

  • 这些是我需要的按钮 我的java程序有多个场景.. 所以我需要这三个代码做同样的工作....所以我可以制作自己的按钮,并在我的java程序中给它们代码... 关闭按钮。 使变大(如果变大也会变小)。 和最小化按钮。 我已经尝试过这个关闭按钮 还有我如何从多个场景进入主舞台??...