TableView da error al nombre de la columna cambio a otra

J. Sabirov:

Estaba escribiendo programas en JavaFX creé tableView quiero cambiar el nombre de columna en diferentes nombres, pero me da error que razón no podía reconocer. Aquí está la vista de mi solicitudintroducir descripción de la imagen aquí

Creo temporizador, contador de tiempo en que trato de cambiar nombre de columna de la tabla, pero sin éxito aquí es mi código

 timer=new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run()
            {
                cnt ++;
                if(cnt % 3 == 0)
                {
                    Vaqt.setText("VAQT");
                    Reys.setText("REYS");
                    Mashrut.setText("MARSHRUT");
                    Status.setText("STATUS");
                }
                else if(cnt % 3 == 1)
                {
                    Vaqt.setText("TIME");
                    Reys.setText("REYS");
                    Mashrut.setText("MARSHRUT");
                    Status.setText("STATUS");
                }
                else if(cnt % 3 == 2)
                {
                    Vaqt.setText("Время");
                    Reys.setText("Рейс");
                    Mashrut.setText("Маршрут");
                    Status.setText("Статус");
                }
                System.out.println(cnt);
                ImageView imageView1 = new ImageView("img/uzairways_logo.jpg");
                ImageView imageView2 = new ImageView("img/uzairways_logo.jpg");
                list =new ArrayList<TableData>();
                list.add(new TableData("12:10", imageView1, "HY 615", "Москва", "прибил в 12:15"));
                list.add(new TableData("14:30", imageView2, "HY 52", "Ташкент", "по расписанию"));
                list.add(new TableData("12:10", imageView1, "HY 615", "Москва", "прибил в 12:15"));
                list.add(new TableData("14:30", imageView2, "HY 52", "Ташкент", "по расписанию"));
                tableView.getItems().clear();
                tableView.getItems().addAll(list);
                System.out.println("Va va");
            }
        },new Date(),1000);

Pero dame siguientes errores

nged(MultiplePropertyChangeListenerHandler.java:55)
    at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89)
    at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
    at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:103)
    at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:110)
    at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:143)
    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:146)
    at com.sun.javafx.scene.control.skin.TableColumnHeader.handlePropertyChanged(TableColumnHeader.java:339)
    at com.sun.javafx.scene.control.skin.TableColumnHeader.lambda$new$48(TableColumnHeader.java:149)
    at com.sun.javafx.scene.control.skin.TableColumnHeader$$Lambda$202/1706095847.call(Unknown Source)
    at com.sun.javafx.scene.control.MultiplePropertyChangeListenerHandler$1.changed(MultiplePropertyChangeListenerHandler.java:55)
    at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89)
    at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
    at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:103)
    at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:110)
    at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:143)
    at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:49)
    at javafx.scene.control.TableColumnBase.setText(TableColumnBase.java:191)
    at controllers.Controller$1.run(Controller.java:50)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
Exception in thread "Timer-0" java.lang.IllegalStateException: Not on FX application thread; currentThread = Timer-0
    at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:204)
    at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:364)
    at javafx.scene.Parent$2.onProposedChange(Parent.java:364)
    at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:113)
    at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:108)
    at com.sun.javafx.scene.control.skin.LabeledSkinBase.updateChildren(LabeledSkinBase.java:575)
    at com.sun.javafx.scene.control.skin.LabeledSkinBase.handleControlPropertyChanged(LabeledSkinBase.java:204)
    at com.sun.javafx.scene.control.skin.LabelSkin.handleControlPropertyChanged(LabelSkin.java:49)
    at com.sun.javafx.scene.control.skin.BehaviorSkinBase.lambda$registerChangeListener$60(BehaviorSkinBase.java:197)
    at com.sun.javafx.scene.control.skin.BehaviorSkinBase$$Lambda$162/1632724523.call(Unknown Source)
    at com.sun.javafx.scene.control.MultiplePropertyChangeListenerHandler$1.changed(MultiplePropertyChangeListenerHandler.java:55)
    at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89)
    at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
    at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:103)
    at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:110)
    at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:143)
    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:146)
    at com.sun.javafx.scene.control.skin.TableColumnHeader.handlePropertyChanged(TableColumnHeader.java:339)
    at com.sun.javafx.scene.control.skin.TableColumnHeader.lambda$new$48(TableColumnHeader.java:149)
    at com.sun.javafx.scene.control.skin.TableColumnHeader$$Lambda$202/1706095847.call(Unknown Source)
    at com.sun.javafx.scene.control.MultiplePropertyChangeListenerHandler$1.changed(MultiplePropertyChangeListenerHandler.java:55)
    at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89)
    at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
    at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:103)
    at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:110)
    at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:143)
    at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:49)
    at javafx.scene.control.TableColumnBase.setText(TableColumnBase.java:191)
    at controllers.Controller$1.run(Controller.java:51)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
Anwar Quvandiqov:

se puede utilizar en lugar de línea de tiempo del temporizador en JavaFX TimeLine mejor interfaz gráfica de usuario para modificar en JavaFX se puede utilizar la animación con esta https://docs.oracle.com/javase/8/javafx/api/javafx/animation/Timeline.html

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=187639&siteId=1
Recomendado
Clasificación