Задать вопрос
  • JavaFX + Swing = тормоза (3-5 сек)?

    alexplot
    @alexplot
    Студент, программист
    JavaFX - не многопоточна, что не касается Swing. Возможно при запуске вашего приложения вы выполняете какую либо длительную работу, что приводит к блокировке обновления UI JavaFX на некоторое время.

    Попробуйте ресурсоёмкие операции совершать в отдельном потоке, а если в этой операции задействованы изменения UI, то операции по обновлению UI вызывайте через Platform.runLater()

    На примере этого вопроса про ProgressBar, который не обновляется как надо:
    stackoverflow.com/questions/27090426/progressbar-i...
    Ответ написан
    Комментировать
  • Как правильно обновлять Progressbar из цикла?

    alexplot
    @alexplot
    Студент, программист
    Когда в твоём приложение появляется работа, которая выполняется довольно долго, как например твои циклы, это останавливает обновление UI в целом. Чтобы твой код работал его нужно запустить в отдельном потоке, а так как JavaFX не многопоточна, то операции типа setProgress(double v) должны быть возвращены обратно в главный поток приложения методом Platform.runLater().

    Platform.runLater(() -> progress.setProgress( step / size ));


    А использовать Swing классы для работы с JavaFX, как мне кажется, не правильно.
    Ответ написан
    3 комментария
  • Куда разместить методы?

    alexplot
    @alexplot
    Студент, программист
    Как по мне, так вы сами ответили на свой вопрос.
    DB (для работы с базой данных, получение/внесение записей).


    А в классе Application можно получить объект из базы данных через ваш класс DB для того, чтобы уже класс Application с ним работал.
    Application (приложение, работа с объектом)
    Ответ написан
    Комментировать