设置舞台javafx的初始位置



我正在制作一个使用设置菜单的应用程序,我已经实现了使用与应用程序主阶段不同的阶段。它显示在一个按钮单击,我想知道如果javafx提供了一种方法,使舞台出现在屏幕的中心默认情况下,对我来说,它出现在左上角。似乎我遗漏了一些东西,因为这种事情发生在其他应用程序的警告对话框中,但是Dialog(或alert)类并不理想,因为我的目标并不适合单一输入,就像在对话框中可能看到的那样。

相关代码:

Button settings = new Button();
Image image = new Image(getClass().getResourceAsStream("gear.png"));
settings.setGraphic(new ImageView(image));
settings.setFocusTraversable(false);
grid.add(settings, 1, 2);                   
settings.setOnAction(e -> {                             
        Stage settingsStage = new Stage();
        settingsStage.initModality(Modality.APPLICATION_MODAL);
        //Neither centerOnScreen() or the setX, setY lines change where the stage appears
        //setY and setX work themselves out if they do not rely on stage
        //settingsStage.centerOnScreen();
        //settingsStage.setX(stage.getX() + stage.getWidth() / 2 - settingsStage.getWidth() / 2);
        //settingsStage.setY(stage.getY() + stage.getHeight() / 2 - settingsStage.getHeight() / 2);
        settingsStage.show();
    });

作为参考,我在mac上使用javafx 8

这个问题应该有你想要的:舞台中心位置

你只需要在它的start方法中设置舞台的坐标

最新更新