Как я могу запустить компоненты javafx с потоком Java из метода run()? Это вообще поддерживается? Благодаря!Как запустить javafx-компоненты с помощью Java-потока?
0
A
ответ
1
Изменение текущей сцены из любой темы, отличной от Application
, не разрешено. Если вы хотите сделать это с java.lang.Thread
затем где-то в вашей реализации run()
вам это нужно:
Platform.runLater(new Runnable(){
@Override
public void run(){
// change your scene graph here
}
});
Это вызывает все ваши изменения происходят на Application
нити. Если у вас есть задача, которую нужно выполнить повторно, посмотрите на javafx.concurrent.Service<V>
. Документы говорят:
В рамках библиотеки JavaFX UI, служба знает о потоке приложений JavaFX и предназначена для облегчения разработчика приложений от бремени manging многопоточного кода, который взаимодействует с пользовательским интерфейсом ,
попробуйте это ... http://stackoverflow.com/questions/9165251/execute-task-in-background-in-javafx –