2017-06-06 2 views
0

私は2つの異なるコントローラを持っていますが、そのうちの1つで特定の値を取得することで、2番目のコントローラの初期化可能な状態で使用したいと思います。別のコントローラから取得したパラメータを現在の初期化可能パラメータにすることはできますか?

これは第1のコントローラは、前記第二のコントローラが

public void getRegion(String region) { 
    System.out.println(region+" UO UO UO "); 
    regi=region; 
    } 

取得し、これは初期化可能場所である場合これは

public void enterlevel(String x) throws IOException{ 

    FXMLLoader Loader=new FXMLLoader(); 

    Loader.setLocation(getClass().getResource(x)); 

    Loader.load(); 

    regionalController reg=Loader.getController(); 
    reg.getRegion(region); 


    //System.out.println(region); 

    Parent root = Loader.getRoot(); 

    Stage primaryStage = new Stage(); 
    Scene scene = new Scene(root); 

    primaryStage.setTitle("Ziga Ziga"); 
    primaryStage.setScene(scene); 
    primaryStage.setMaximized(true); 
    primaryStage.setResizable(false); 
    primaryStage.show(); 


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

} 

他のcontrolerに領域パラメータを送信する部分であります値を使用すると開始できません。

public void initialize(URL arg0, ResourceBundle arg1) {  
    System.out.println(regi); 
    try{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con=DriverManager.getConnection("jdbc:mysql://localhost/bimbima","root",""); 
     Statement stmt=con.createStatement(); 
     ResultSet rs=stmt.executeQuery("SELECT * FROM `file` WHERE Region = '"+regi+"'"); 
     while(rs.next()) { 
     filename=rs.getString("filename"); 
     nameofSup=rs.getString("Name of Supervisor"); 
     System.out.println(filename); 
     } 
     con.close(); 
     }catch(Exception e){ System.out.println(e);} 
} 
+0

は 'また、getRegion(...)は'だけで立ち往生していること、ありがとうございました私は何か他のもののために前にそれを使っていたからです。 – Eixhani

答えて

1

脇に:確かにあなたのgetRegion(...)メソッドは、プロパティの値を変更して何も返さないので、setRegion(...)と呼ぶべきです。

あなたは地域を知っているときにのみ、データベースから値を取得するようにするだけ前記第二のコントローラにコードを変更:

public void initialize(URL arg0, ResourceBundle arg1) {  
} 

public void setRegion(String region) { 
    regi=region; 
    try{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con=DriverManager.getConnection("jdbc:mysql://localhost/bimbima","root",""); 
     Statement stmt=con.createStatement(); 
     ResultSet rs=stmt.executeQuery("SELECT * FROM `file` WHERE Region = '"+regi+"'"); 
     while(rs.next()) { 
     filename=rs.getString("filename"); 
     nameofSup=rs.getString("Name of Supervisor"); 
     System.out.println(filename); 
     } 
     con.close(); 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 
} 
関連する問題