обновление значения Label на SplitPane

305
31 января 2017, 20:53

Есть некое JavaFx приложение со SplitPane на сцене.
На SplitPane есть 2 Label'а.
Как в цикле обновить значения Label'ов на форме с задержкой в 1 сек?
Нашел вот такое решение

public void start(Stage myStage) {

    myStage.setTitle("JavaFXSkeleton.");
    SplitPane sp = new SplitPane();
    sp.setOrientation(Orientation.VERTICAL);
    Label labelUp = new Label("test");
    Label labelDw = new Label("тест");
    Scene scene = new Scene(sp,800,800);
    myStage.setScene(scene);
    final StackPane sp1 = new StackPane();
    sp1.getChildren().add(labelUp);
    final StackPane sp2 = new StackPane();
    sp2.getChildren().add(labelDw);
    sp.setOnMouseClicked(event -> {
        Task<Void> task = new Task<Void>() {
            @Override
            public Void call() throws Exception {
                for (Map.Entry<String, String> pair : dictionary.entrySet())
                {
                    String key = pair.getKey();                      //ключ
                    String value = pair.getValue();                  //значение
                    updateMessage(pair.getKey());
                    System.out.println(key + ":" + value);
                    Thread.sleep(250);
                }
                return null ;
            }
        };
        task.messageProperty().addListener((obs, oldMessage, newMessage) -> labelDw.setText(newMessage));
        task.messageProperty().addListener((obs, oldMessage, newMessage) -> labelUp.setText(newMessage));
        new Thread(task).start();
    });
    sp.getItems().addAll(sp1, sp2);
    sp.setDividerPositions(0.5f, 0.5f);

    // показать подмостки и сцену на них
    myStage.show();
}

Проблема этого решения в том, что оно обновляет значения в обоих Label одинаково. Как сделать обновление значений 2хLabel в одном треде?

READ ALSO
NullPoinerException в RecyclerView.Adapter

NullPoinerException в RecyclerView.Adapter

Необходимо в обработчике нажатия запустить новую активити, изменив view компонеты, которые хранит ее xml представление

333
Long cannot be cast to JSONObject

Long cannot be cast to JSONObject

ЗдравствуйтеХочу распарсить вот этот JSON файл

360
Продумывание логики &ldquo;Морского боя&rdquo;

Продумывание логики “Морского боя”

ЗдравствуйтеСобираюсь писать Морской бой для Android и вот начал, как правило, с логики

278
Добавить ReactJS в проект

Добавить ReactJS в проект

Подскажите начинающему: есть сверстанная страничка со всякими мультиселектами, поиском по ней и так далееХочу переписать всё jQuery на React,...

414