Добрый день(Скрины в ссылках ниже),возник вопрос. Запускается приложение цепляет fxml + Controller в котором есть бесконечный цикл. Я поверхностно знаком с GUI потоком (если я не ошибаюсь он отвечает за графическое отображение). И скорее всего именно на этом потоке программа заходит в вечный цикл и на нем висит. Соответственно код ниже строки
Parent root = FXMLLoader.load(getClass().getResource("fxml_css/server.fxml"));
и окно программы не отображается. Пытался поместить эту строку
Parent root = FXMLLoader.load(getClass().getResource("fxml_css/server.fxml"));
в Thread но ничего не дало. Этот код помещал в Platform :
primaryStage.setTitle("Server");
primaryStage.setScene(new Scene(root, 600, 378));
primaryStage.show();
но желаемого результата не получил.
Есть вариант перенести код, то есть оставить контроллер чистыми а весь код в нем кинуть в метод
public void start(Stage primaryStage) throws Exception
ниже формирования окна, тогда по идее работать будет НО доступ к полям на форме которые созданы в контроллере будут не доступны и придется все смешивать в один метод, я все таки люблю придерживаться хоть малейшего порядка ) Да и по любому есть вариант как-то обычный поток отправить выполнять цикл, а главным запустить окно, но что-то у меня не выходит. Подскажите пожалуйста как можно решить данную проблему ?
https://ibb.co/mo7FCH
https://ibb.co/mRwmKx
Получилось решить проблему, создал левый метод и обратился к нему в другом потоке
Нужно было просто поспать ), всем спасибо =)
Код работы tcp-сервера следует выполнять в рабочем (фоновом) потоке.
В зависимости от того, в каком виде ваш сервер будет взаимодействовать
с пользовательским интерфейсом, Вы можете использовать как обычный new Thread(()->{...}).start();
, так и какой-либо класс из пакета javafx.concurrent
.
К примеру, вариант использования javafx.concurrent.Task
для обновления прогрессбара есть в этом ответе:
Работа с Progess Bar в JavaFX
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Проект работает, но при запуске сделанного jar выскакивает ошибка в командной строке, что отсутсвует библиотека, хоть в intellijn я ее добавилчто...
у меня задание написать программу в java, что-бы из простого алфавита переводил в азбуку морзе, нельзя использовать hashmap, hashset, выдает ошибку
Насколько я знаю джава апплеты мёртвая технология, не относится ли это к сервелетам?
Как построить пирамиду, применить к ней текстуру и осветить ее?