protected void updateStatus() { // Update description String text = thread.getRetrievable().getName(); text = text.length() > 30 ? text.substring(0, 27) + "..." : text; text += " (" + BulkDownloadPanel.makeSizeDescription(this.progress.getCurrentSize()) + " / " + BulkDownloadPanel.makeSizeDescription(this.progress.getTotalSize()) + ")"; this.descriptionLabel.setText(text); // Update progress bar int percent = 0; if (this.progress.getTotalCount() > 0) percent = (int) ((float) this.progress.getCurrentCount() / this.progress.getTotalCount() * 100f); this.progressBar.setValue(Math.min(percent, 100)); // Update tooltip String tooltip = BulkDownloadPanel.makeSectorDescription(this.thread.getSector()); this.descriptionLabel.setToolTipText(tooltip); this.progressBar.setToolTipText(makeProgressDescription()); // Check for end of thread if (!this.thread.isAlive()) { // Thread is done this.cancelButton.setText("Remove"); this.cancelButton.setBackground(Color.GREEN); this.updateTimer.stop(); } }
protected void doUpdateDescription(final Sector sector) { if (sector != null) { try { long size = retrievable.getEstimatedMissingDataSize(sector, 0, cache); final String formattedSize = BulkDownloadPanel.makeSizeDescription(size); SwingUtilities.invokeLater( new Runnable() { public void run() { descriptionLabel.setText(formattedSize); } }); } catch (Exception e) { SwingUtilities.invokeLater( new Runnable() { public void run() { descriptionLabel.setText("-"); } }); } } else SwingUtilities.invokeLater( new Runnable() { public void run() { descriptionLabel.setText("-"); } }); }