Я использую Scala для написания приложения GUI в Swing, которое запускает несколько потоков для одновременного скачивания файлов по протоколу HTTP. Я хотел бы использовать число JProgressBar
s для отображения статуса загрузки. Очевидно, что индикаторы выполнения должны обновляться из потока диспетчеризации событий, и, кроме того, я хотел бы сохранить код загрузки HTTP отдельно от графического интерфейса.Канонический способ отслеживания состояния потока
Мне интересно, какой лучший способ сделать это? SwingWorker
имеет значение Swing, а Observable
кажется несколько архаичным в том, что параметр, переданный наблюдателю, является объектом и должен быть отброшен. Scala - мощный современный язык, поэтому я надеялся, что есть более простой способ сделать то, что я хочу.
возможно дубликат [соединить JProgressBar с загрузки процесса в Java] (HTTP: // stackoverflow.com/questions/9420778/connect-jprogressbar-with-download-process-in-java) и [Java ProgressMonitorInputStream с использованием существующего JProgressBar] (http://stackoverflow.com/questions/8379398/java-progressmonitorinputstream-using- existing-jprogressbar) – jtahlborn