У меня есть файл FXML со всеми элементами, такими как Button
s, Label
s, TextField
s и т. Д. Для FXML-файла у меня есть класс контроллера, где я могу установить текст Label
и т. д.
Теперь у меня есть внешний класс, где мне нужно изменить Button
s, Label
s и т. Д. Проблема в том, что я не могу установить элементы на static
. Так как я могу изменить их в другом классе?
Я уже знаю, что здесь есть похожие вопросы, но ничего, что действительно помогло мне. Буду очень признателен за вашу помощь.
Пример
FXML
<AnchorPane fx:id="root" prefHeight="1000" prefWidth="1000"
xmlns="http://javafx.com/javafx/8.0.121" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="Controller">
<Label fx:id="testLabel" layoutX="150" layoutY="200" text=""/>
Controller.java
@FXML private Label testLabel;
AnotherClass.java
testLabel.setText("This is a test");
Main.java
Main.primaryStage = primaryStage;
primaryStage.setTitle("Test Scene");
AnchorPane pane = FXMLLoader.load(Resource.onClassPath("MyScene.fxml").getURL());
Scene scene = new Scene(pane);
primaryStage.setScene(scene);
Если я нахожусь в сцене «MyScene.fxml» и нажимаю кнопку, чтобы перейти к следующей сцене
@FXML AnchorPane root;
AnchorPane pane = FXMLLoader.load(Resource.onClassPath("Example.fxml").getURL());
root.getChildren().setAll(pane);
Теперь сцена "Пример" имеет контроллер. Мне нужно получить доступ к элементам контроллера из третьего класса ..:)