Я пытаюсь удалить прямоугольник из моего окна, если он перемещен в определенную часть экрана.Ошибка JavaFX при попытке удалить форму
Это ошибка, что я получил:
Исключение в потоке "Thread-1539" java.lang.IllegalStateException: Не на приложения FX нити; currentThread = резьбонарезной 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) at com.sun.javafx.collections.VetoableObservableList.remove (VetoableObservableList.java:172) at 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: Не на FX приложения thread'. Вы пытаетесь выполнить операцию, которая должна быть выполнена в приложении JavaFX Application, и вы не на ней, может быть, вы создали новый поток и пытаетесь управлять прямоугольником на нем. – ItachiUchiha
Ах да, это так. Как подключить эти два потока? Или, другими словами, как мне это сделать? –
Добавлен ответ для большей ясности – ItachiUchiha