0 / 0 / 0
Регистрация: 18.05.2016
Сообщений: 10
1

JavaFX Label

27.09.2016, 15:53. Показов 2498. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Прошу помощи, возникла проблема с Label javafx.
Необходимо чтобы в Label был динамически изменяющийся секундомер, для этого дал ему отдельный поток, но значение в Label не меняется.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
@FXML
    private JInvLabel lbl_iter;  
 
private int sec = 0;
    private int min = 0;
    private int hour = 0;
    private static String tm;
 
]@FXML
    public void label() {
       final Task<Void> task = new Task<Void>() {
            
            public Void call() throws Exception {
                
                
                while(true){
               sec++;
               
               //wait(100);
            if (sec>=60){
                min++;
                sec=0;
            }
            if (min>=60){
                hour++;
                min = 0;
            }
            tm = hour + ":" + min + ":" + sec;
            //wait(100);
                lbl_iter.setText(tm);
                
               
                
            }
                
        }
        };



Exception in thread "Thread-6" java.lang.IllegalStateException: Not on FX application thread; currentThread = Thread-6
at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:236)
at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:4 23)
at javafx.scene.Parent$2.onProposedChange(Parent.java:367)
at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.ja va:113)
at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.ja va:108)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.updateChildren(LabeledSkinBase .java:575)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.handleControlPropertyChanged(L abeledSkinBase.java:204)
at com.sun.javafx.scene.control.skin.LabelSkin.handleControlPropertyChanged(LabelSk in.java:49)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase.lambda$registerChangeListener $61(BehaviorSkinBase.java:197)
at com.sun.javafx.scene.control.MultiplePropertyChangeListenerHandler$1.changed(Mul tiplePropertyChangeListenerHandler.java:55)
at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89)
at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(Expre ssionHelper.java:182)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.j ava:81)
at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBas e.java:103)
at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:110 )
at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:144)
at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:49)
at javafx.beans.property.StringProperty.setValue(StringProperty.java:65)
at javafx.scene.control.Labeled.setText(Labeled.java:145)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:745)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2016, 15:53
Ответы с готовыми решениями:

Не инициализируется Label в javaFX
В общем проблема такая: нужно написать программу &quot;банкомат&quot;. 2 кнопки: &quot;снять&quot; и &quot;пополнить&quot;,...

Рамка вокруг Label в JavaFX
Собственно подскажите пожалуйста как сделать простую черную рамку вокруг Label в JavaFX. Смотрел...

В JavaFX не обновляются Label и ProgressIndicator во время выполнения задачи
Для одновременного запуска основной задачи и ProgressIndicator я сделал отдельный Task, который...

JavaFX, как поменять текст Label из другого контроллера? Использую FXML
Есть такая программа: Main.java: package sample; import javafx.application.Application;...

2
50 / 49 / 13
Регистрация: 23.11.2015
Сообщений: 401
28.09.2016, 11:59 2
Вот подобная проблема и описанное решение
http://stackoverflow.com/quest... ication-th

Так же вот документация
http://docs.oracle.com/javafx/... /Task.html
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
13.01.2017, 01:49 3
Как-то слишком сложно.
Я пошел логическим путем
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class My_Clock extends Label {
    public long time;
    My_Clock() {
        time = 0; 
        bindToTime();
    };
private void bindToTime() {
    Timeline timeline = new Timeline(
      new KeyFrame(Duration.seconds(0),  ae -> {
            time++;
            setText("" + time3);
        }),new KeyFrame(Duration.millis(1000)));
    timeline.setCycleCount(Animation.INDEFINITE);
    timeline.play();
}}
0
13.01.2017, 01:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2017, 01:49
Помогаю со студенческими работами здесь

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException при создании Label
Пытаюсь написать чат по видео, в видео писали на Swing, я решил на JavaFX сразу начать учиться....

JavaFX. Самое первое задание в JavaFX вместо Java. Не используя вспомогательных объектов
Всем привет, уважаемые форумчане! Мы работали на программировании в вузе на Java. Теперь дали...

Проект JavaFX в Eclipse не видит библиотеки из javafx-sdk
Доброго всем времни суток. Помогите решить вот такую проблемку. Установил среду Eclipse. В ней...

Swing --> JavaFX, Переписать графический компонент в JavaFX
Всем привет! Только начал изучать Java. Пишу программу крестики-нолики(игра). Написал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru