Я пытаюсь удалить прямоугольник из своего окна, если он перемещен в определенную часть экрана.
Это ошибка, которую я получил:
Исключение в потоке "Thread-1539" java.lang.IllegalStateException: не в потоке приложения FX; currentThread = Thread-1539 в com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:238) в com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:400) в javafx.scene. Parent$1.onProposedChange(Parent.java:245) на com.sun.javafx.collections.VetoableObservableList.remove(VetoableObservableList.java:172) на com.sun.javafx.collections.ObservableListWrapper.remove(ObservableListWrapper.java:263) на com.sun.javafx.collections.VetoableObservableList.remove(VetoableObservableList.java:179) в MovementSample$HandListener.onFrame(MovementSample.java:136) в com.leapmotion.leap.LeapJNI.SwigDirector_Listener_onFrame(LeapJNI.java:495)
Это фрагмент кода, который вызывает проблему:
if(areOverlapping(sauceRectangle, pizzaInside)) {
if(isHolding == null) {
Group g = (Group) scene.getRoot().getChildrenUnmodifiable().get(1);
g.getChildren().remove(sauceRectangle);
}
}
где areOverlapping() - это просто метод, который проверяет некоторую логику - проблема не в этом.
У меня такой вопрос: как убрать прямоугольник с экрана, если у меня есть сцена. Кроме того, что я сделал неправильно в своем коде?
IllegalStateException: Not on FX application thread
. Вы пытаетесь выполнить операцию, которая должна выполняться в потоке приложения JavaFX, но вы не в нем, возможно, вы создали новый поток и пытаетесь управлять прямоугольником на нем. - person ItachiUchiha   schedule 07.10.2014