Получить доступ к метке Controller.

0
29 дек 2016 09:07
Основное окошко:

 public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 500, 475));
        primaryStage.show();

    }

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

}


контроллер 1:

 public class ControllerSample {

    @FXML
    private Button button;

    @FXML
    private Label label;

    @FXML
    private void initialize(){

        button.addEventHandler(MouseEvent.MOUSE_CLICKED, mouseEvent -> {
            FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("sample2.fxml"));
            Parent root1 = null;
            try {
                root1 = fxmlLoader.load();
            } catch (IOException e) {
                e.printStackTrace();
            }
            Stage stage = new Stage();
            stage.setTitle("sample2");
            Scene scene = new Scene(root1);
            stage.setScene(scene);
            stage.show();
        });
    }

    public Label getLabel() {
        return label;
    }
}


Контроллер 2:

 public class ControllerSample2 {

    private ControllerSample controllerSample;

    @FXML
    private Button button;

    @FXML
    private void initialize(){
        button.setOnAction((event) -> {
            Platform.runLater(new Runnable() {
                @Override
                public void run() {
                    controllerSample.getLabel().setText("888");
                }
            });

        });
    }

    public void setControllerSample(ControllerSample controllerSample) {
        this.controllerSample = controllerSample;
    }
}


При нажатии кнопки окна Main открывается новое окошко с кнопкой, а
как при нажатии на кнопку в ControllerSample2 (второго окошко) изменить label в ControllerSample?

Ответов: 1

0
30 дек 2016 18:05
Все сам решил...
Модераторы: Нет
Сейчас эту тему просматривают: Нет