Javafx的新阶段即将到来

时间:2014-07-02 13:55:04

标签: java javafx javafx-2 javafx-8 scenebuilder

我们在JavaFX中使用多个阶段(窗口)作为桌面独立应用程序。因此,当我们拖动或移动任何舞台(窗口)从一个点到另一个点并单击某个按钮导航到另一个页面意味着新舞台再次进入中心(默认位置)。是否有任何方法可以在前一个阶段或点(前一个窗口)中设置未来阶段(未来的窗口)。请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以在显示之前控制舞台位置。只需记住最后一个阶段坐标并在同一点创建一个新坐标:

public class FXStages extends Application {

    private int counter = 0;

    @Override
    public void start(final Stage stage) {
        Button btn = new Button();
        btn.setText("Reopen");
        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                stage.close();
                Stage newStage = new Stage();
                newStage.setX(stage.getX());
                newStage.setY(stage.getY());
                start(newStage);
            }
        });

        StackPane root = new StackPane();
        root.getChildren().add(btn);
        Scene scene = new Scene(root, 300, 250);
        stage.setTitle("Stage " + counter++);
        stage.setScene(scene);

        stage.show();
    }
}