进度条更新崩溃javaFX

进度条更新崩溃javaFX,java,parallel-processing,javafx-8,Java,Parallel Processing,Javafx 8,在我的应用程序中,JavaFX(jdk1.8.091)出现了一个相当严重的错误,其中显示了几个进度条并进行了更新(随机或同时更新)。有时,尤其是当进度条被填充(它有一个样式类到进度条),但有时也在中间时,软件块和我有这个痕迹出现多次(不总是相同的数字,但最后一个是27次): 这27条记录道之后是大量的信息: 线程“JavaFX应用程序线程”java.lang.ArrayIndexOutOfBoundsException中的异常 由于异常stacktrace中没有我自己代码的迹象,我有点迷路了。有

在我的应用程序中,JavaFX(jdk1.8.091)出现了一个相当严重的错误,其中显示了几个进度条并进行了更新(随机或同时更新)。有时,尤其是当进度条被填充(它有一个样式类到进度条),但有时也在中间时,软件块和我有这个痕迹出现多次(不总是相同的数字,但最后一个是27次):

这27条记录道之后是大量的信息:

线程“JavaFX应用程序线程”java.lang.ArrayIndexOutOfBoundsException中的异常


由于异常stacktrace中没有我自己代码的迹象,我有点迷路了。有人知道这是从哪里来的吗?

如果修改了不在JavaFX线程上的UI,那么这个问题很常见。不幸的是,在这种情况下,您会得到一个数组索引越界异常,并且不知道问题发生在哪里

另请参见(“ObservableListWrapper.java:89”的搜索结果):


因为没有代码,所以这里的人能做的最好的事情就是随机猜测。你有没有办法创建一个复制问题的模型?否则,我的最佳随机猜测是您正试图从后台线程访问UI。我的下一个猜测是,您正在修改一个可观察列表,同时在
列表更改侦听器中处理该列表上的更改。但在现阶段,这些都是猜测。我在随机的时间里遇到了同样的问题,但很少。
Exception in thread "JavaFX Application Thread" java.lang.ArrayIndexOutOfBoundsException: -1

at java.util.ArrayList.elementData(ArrayList.java:418)

at java.util.ArrayList.get(ArrayList.java:431)

at com.sun.javafx.collections.ObservableListWrapper.get(ObservableListWrapper.java:89)

at com.sun.javafx.collections.VetoableListDecorator.get(VetoableListDecorator.java:306)

at javafx.scene.Parent.updateCachedBounds(Parent.java:1591)

at javafx.scene.Parent.recomputeBounds(Parent.java:1535)

at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1388)

at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)

at javafx.scene.Node.updateGeomBounds(Node.java:3577)

at javafx.scene.Node.getGeomBounds(Node.java:3530)

at javafx.scene.Node.getLocalBounds(Node.java:3478)

at javafx.scene.Node.updateTxBounds(Node.java:3641)

at javafx.scene.Node.getTransformedBounds(Node.java:3424)

at javafx.scene.Node.updateBounds(Node.java:559)

at javafx.scene.Parent.updateBounds(Parent.java:1719)

at javafx.scene.Parent.updateBounds(Parent.java:1717)

at javafx.scene.Parent.updateBounds(Parent.java:1717)

at javafx.scene.Parent.updateBounds(Parent.java:1717)

at javafx.scene.Parent.updateBounds(Parent.java:1717)

at javafx.scene.Parent.updateBounds(Parent.java:1717)

at javafx.scene.Parent.updateBounds(Parent.java:1717)

at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2404)

at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:354)

at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:381)

at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:510)

at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:490)

at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$404(QuantumToolkit.java:319)

at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)

at com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(GtkApplication.java:139)

at java.lang.Thread.run(Thread.java:745)