2013-04-27 54 views
1

我試圖在JavaFX上實現一個遊戲。此外,我正在處理一個FXML文件,所以我有一個main類和controller類。我的問題是,我如何才能達到controller類的main類的對象。爲了更清楚我會分享一個簡單的代碼。從另一個類(這是JavaFX的控制器類)到達變量

這是主類:

public class JavaFXApplication1 extends Application { 

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

     Parent root = FXMLLoader.load(getClass().getResource("Risk3.fxml")); 

     // Main Pane 
     BorderPane borderPane = new BorderPane(); 
     borderPane.setCenter(root); 

     // Main scene 
     Scene scene = new Scene(borderPane); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

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

因此,例如,我想從controller類,這是達到rootborderPane

public class SampleController implements Initializable { 

    @Override 
    public void initialize(URL url, ResourceBundle rb) { 
     // TODO 
    } 
} 

我應該rootborderPane全局和靜態或還有其他辦法可以達到他們嗎?

+0

爲什麼你要將從控制器加載的面板包裝在BorderPanel中? – tarrsalah 2013-04-28 00:03:43

+0

實際上我會在地圖上添加文本字段。我也會將播放器菜單添加到底部。這就是爲什麼我選擇邊框窗格和包裹面板。 – quartaela 2013-04-28 00:10:28

回答

1

root面板可以簡單地從使用

@FXML標籤等任何部件的FXML控制器達到。

<BorderPane xmlns:fx="http://javafx.com/fxml" fx:id="root"> 
    ... 
</BorderPane> 
+0

我知道了!謝謝 :) – quartaela 2013-04-28 00:26:01

相關問題