Я написал фреймворк, который выполняет вычисления, которые занимают много времени (около 15 минут). Теперь я хочу написать интерфейс в Swing, который будет собирать данные из базы данных и выполнять эти вычисления.Java Swing long Выполнение потока
Мне просто интересно, как это сделать? Если я выполняю интенсивные вычисления в потоке событий, весь интерфейс зависает, пока код не будет закончен.
Я начал думать, что создам объект, который может обрабатывать всю задачу вычисления, но что мне делать с информацией о состоянии и статусе во время выполнения. У меня также есть несколько действий, которые могут быть выполнены, например. разные расчеты, требующие разных данных. Нужно ли писать объект для каждого действия? Если я отделяю представление и расчет, я должен обмениваться данными - для чего лучше всего?
Спасибо и наилучшими пожеланиями
Marco
Уход за разъяснением проблемы, имеющейся у вас, с помощью downvoter? – ColinD
Спасибо, SwingWorker звучит действительно интересно –
+1 чтобы противостоять случайному убийству. – reccles