2016-06-03 1 views
-2

В соответствии с моим мышлением Когда две приведенные ниже строки выполняются компилятором в javaFX, Первая строка просто устанавливает местоположение файла ABC.fxml. И во второй строке при выполнении loader.load() это время компилятор делает один объект из файла контроллера ABC.fxml и который является ABCcontroller.java. и назовите его.Передайте значение этапа другому контроллеру класса javafx при загрузке файла FXML

loader.setLocation(MyApplicationClass.class.getResource("/demo/view/ABC.fxml")); 
    rootDisplay = (BorderPane) loader.load(); 

В течение этого времени (в loader.load()) Я хочу, чтобы передать значение стадии из моего текущего файла класса (mainclass.java) к этому объекту ABCcontroller.class. Потому что мне нужно это значение дальше.

Я видел, как

loader.load(URL Location, ResourceBundle resources,.....)

Можно ли передать значение стадии, давая параметр. Я не знаю, как назвать это или использовать эти параметры.

Просьба предложить мне, как реализовать эту идею или другую идею, чтобы сделать то же самое.

+0

* «За это время (на' loader.load() ') я хочу передать сцену ...» *. Вам действительно нужно, чтобы это произошло * в то время *, или это может произойти после того, как «load» вернулась? Дублирующий вопрос показывает вам, как передать значения контроллеру после завершения загрузки. –

ответ

0

Вы можете сделать следующее, чтобы пройти через параметр к другому контроллеру:

Создать метод в классе контроллера, который принимает параметр, например:

public void initVariables(String variable) { 
    this.variable = variable; 
} 

вызова метода после loader.load() :

WindowController controller = fxmlLoader.<WindowController>getController(); 
controller.initVariables("Test"); 

Заменить WindowController с именем вашего класса контроллера.

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

  • Нет связанных вопросов^_^