2015-12-13 86 views

回答

3

有一個叫stage.initOwner(臺架STG)屬性,允許這種情況發生。

例子:

public class JavaFXApplication4 extends Application { 

@Override 
public void start(Stage stage) { 
    Button jb = new Button("Click"); 
    jb.setOnMouseClicked(new EventHandler() { 
     @Override 
      public void handle(Event event) { 
       makeAnotherStage(stage); 
      } 
     }); 

     GridPane gp = new GridPane(); 
     gp.getChildren().add(jb); 
     Scene s = new Scene(gp); 

     stage.setScene(s); 
     stage.show(); 

    } 

    private void makeAnotherStage(Stage st){ 
     Stage s = new Stage(); 

     GridPane gp = new GridPane(); 
     Label l = new Label("Second Stage"); 
     gp.getChildren().add(l); 
     Scene sc = new Scene(gp); 

     s.initOwner(st);      <------- initOwner 
     s.initModality(Modality.WINDOW_MODAL); <------- Modality property 

     s.setScene(sc); 
     s.requestFocus(); 
     s.show(); 
    } 
} 

在形態Oracle文檔:https://docs.oracle.com/javafx/2/api/javafx/stage/Modality.html

+0

是的,非常感謝。 –

相關問題