2013-04-27 3 views
1

Я пытаюсь реализовать игру на JavaFX. Более того, я имею дело с файлом FXML, поэтому у меня есть класс main и класс controller. Мой вопрос в том, как я могу достичь объектов класса main класса controller. Чтобы быть более ясным, я поделюсь простым кодом.Принять переменную из другого класса (который является классом контроллера 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); 
    } 
} 

Так, например, я хочу, чтобы достичь root или borderPane из controller класса, который является:

public class SampleController implements Initializable { 

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

Должен ли я сделать root и borderPane глобальных и статических или является есть какой-то другой способ их достичь?.

+0

Почему вы обертываете панель, загружаемую с контроллера в BorderPanel? – tarrsalah

+0

На самом деле я добавлю текстовые поля вокруг карты. также я добавлю меню плеера вниз. Вот почему я выбрал панель границы и завернул панель. – quartaela

ответ

1

root панели может просто добраться от FXML контроллера с использованием

@FXML тега как любой компонент.

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

yeap, я понял! благодаря :) – quartaela

Смежные вопросы