2014-07-02 47 views
1

我们在JavaFX中为桌面独立应用程序使用了多个阶段(窗口)。所以当我们拖动或移动任何一个舞台(窗口)到另一个点,然后点击某个按钮导航到另一个页面时,意味着新的舞台将重新居中(默认位置)。是否有任何方法可以在前一阶段的位置或点(前一个窗口)中设置未来阶段(未来窗口)。请帮忙。Javafx中的新阶段即将到来

回答

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(); 
    } 
} 
+0

感谢sergey。 stage.show()之前何时获取前一阶段的x和y坐标值? – Karthikram

+0

在导航到新阶段的按钮处理程序 –

+0

谢谢谢尔盖:) – Karthikram