2015-11-19 81 views
0

如何運行少數javaFx窗口,如果他們在分離的類?幾個JavaFx窗口

例如,像在這種情況下:

public class Main { 
    public static void main(String[] args) { 
     Form1 form1 = new Form1(); 
     Form2 form2 = new Form2(); 

     // run form1 
     // run form2 
    } 

    public static class Form1 extends Application { 
     @Override 
     public void start(Stage primaryStage) throws Exception { 
      Stage stage = new Stage(); 
      stage.setScene(new Scene(new Group(new Button("Window 1")))); 
      stage.show(); 
     } 
    } 

    public static class Form2 extends Application { 
     @Override 
     public void start(Stage primaryStage) throws Exception { 
      Stage stage = new Stage(); 
      stage.setScene(new Scene(new Group(new Button("Window 2")))); 
      stage.show(); 
     } 
    } 
} 

我只需要顯示兩個窗口的同時,卻找不到任何簡單的例子。

+1

一個'Application'不是窗口:所述窗口由表示的' Stage'。您應該只有一個應用程序類(以及通過'launch'爲您創建的實例):您可以根據需要創建任意數量的「舞臺」。 –

+0

您必須創建兩個'stages',請查看答案中的示例代碼。 –

回答

2

在JavaFX窗口被認爲是這樣的階段創建噸多個窗口,可以考慮使用下面的代碼作爲一個例子

public class Main extends Application { 

@Override 
public void start(Stage primaryStage) throws Exception{ 
    form1().show(); 
    form2().show(); 
} 


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

private Stage form1(){ 
    Stage stage=new Stage(); 
    stage.setTitle("Window 1"); 
    stage.setScene(new Scene(new Group(new Button("Window 1")))); 
    return stage; 
} 
private Stage form2(){ 
     Stage stage=new Stage(); 
     stage.setTitle("Window 2"); 
     stage.setScene(new Scene(new Group(new Button("Window 2")))); 
     return stage; 
    } 



}