2015-10-26 97 views
0

真的,我需要知道我可以從登錄屏幕去MAINMENU屏幕的JavaFX我如何遍歷多個屏幕javafx?

public class LoginUIController implements Initializable { 


    @FXML 
    PasswordField pasf = new PasswordField(); 

    @FXML 
    Button bt1 = new Button(); 
    @FXML 
    Button bt2 = new Button(); 
    @FXML 
    Button bt3 = new Button(); 
    @FXML 
    Button bt4 = new Button(); 
    @FXML 
    Button bt5 = new Button(); 
    @FXML 
    Button bt6 = new Button(); 
    @FXML 
    Button bt7 = new Button(); 
    @FXML 
    Button bt8 = new Button(); 
    @FXML 
    Button bt9 = new Button(); 
    @FXML 
    Button bt0 = new Button(); 
    @FXML 
    Button btLogin = new Button(); 
    @FXML 
    Button btDelete = new Button(); 
    @FXML 
    Button btClose = new Button(); 
    @FXML 
    Label timeLb = new Label(); 



    @Override 
    public void initialize(URL location, ResourceBundle resources) { 

     pasf.setEditable(false); 
     setActions(); 
     setFocus(); 

    } 


    private void setActions(){ 

     bt0.setOnMouseClicked(e->{pasf.appendText("0");}); 
     bt1.setOnMouseClicked(e->{pasf.appendText("1");}); 
     bt2.setOnMouseClicked(e->{pasf.appendText("2");}); 
     bt3.setOnMouseClicked(e->{pasf.appendText("3");}); 
     bt4.setOnMouseClicked(e->{pasf.appendText("4");}); 
     bt5.setOnMouseClicked(e->{pasf.appendText("5");}); 
     bt6.setOnMouseClicked(e->{pasf.appendText("6");}); 
     bt7.setOnMouseClicked(e->{pasf.appendText("7");}); 
     bt8.setOnMouseClicked(e->{pasf.appendText("8");}); 
     bt9.setOnMouseClicked(e->{pasf.appendText("9");}); 
     btDelete.setOnMouseClicked(e->{pasf.clear();}); 
     btClose.setOnMouseClicked(e->{ 

     Stage stage = (Stage) btClose.getScene().getWindow(); 
     stage.close(); 

     }); 
     btLogin.setOnMouseClicked((MouseEvent e)->{ 

     }); 
    } 

    private void setFocus(){ 

     pasf.requestFocus(); 
     bt0.requestFocus(); 
     bt1.requestFocus(); 
     bt2.requestFocus(); 
     bt3.requestFocus(); 
     bt4.requestFocus(); 
     bt5.requestFocus(); 
     bt6.requestFocus(); 
     bt7.requestFocus(); 
     bt8.requestFocus(); 
     bt9.requestFocus(); 
     btClose.requestFocus(); 
     btDelete.requestFocus(); 
     btLogin.requestFocus(); 
    } 
} 

public class MainMenuController implements Initializable { 

    @Override 
    public void initialize(URL location, ResourceBundle resources) { 


    } 

} 

public class MyApp extends Application { 

    public final static String LOGIN_FXML = "/myapp/LoginUI.fxml"; 
    public final static String MAINMENU_FXML = "/myapp/MainMenu.fxml"; 

    @Override 
    public void start(Stage primaryStage) throws IOException { 





     primaryStage.setTitle("Hello World!"); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     launch(args); 
    } 

} 
+0

您是否嘗試過簡單地把登錄和主菜單屏幕在不同的階段,然後簡單地在兩個階段之間切換登錄嘗試succeedes什麼時候?無論如何,只是谷歌javafx舞臺/場景切換,你會得到噸的信息。 –

+0

選項1是什麼,我試圖做的,你可以編輯我的項目做到這一點:鏈接項目:https://goo.gl/EaktzQ,然後郵寄到[email protected] –

回答

0

在這裏,你有兩個選擇:

  1. 爲登錄創建兩個階段,爲主要部分創建一個階段。登錄成功後,隱藏登錄階段並顯示主要階段。
  2. 使用其中的登錄內容和主要內容創建一個階段。登錄成功後隱藏登錄內容並顯示主內容。
+0

選項1是什麼,我想做,你可以編輯我的項目做到這一點:鏈接到項目:https://goo.gl/EaktzQ併發送到[email protected] –

+0

我不是在這裏做你的工作:P。但我會看看它。 – Marcel

+0

查看您的代碼我認爲您真的是JavaFX的入門者。我會推薦閱讀一些關於JavaFX和FXML的教程。 http://docs.oracle.com/javafx/2/get_started/fxml_tutorial.htm https://www.google.de/search?q=javafx+tutorial – Marcel