Fix: TaskWindow causes NullPointerException.

This commit is contained in:
huanghongxun
2015-09-07 13:00:54 +08:00
parent 6e003a7364
commit 01526546b1
3 changed files with 12 additions and 3 deletions

View File

@@ -224,6 +224,7 @@ public class TaskWindow extends javax.swing.JDialog
task.setProgressProviderListener(this);
SwingUtilities.invokeLater(() -> {
if(taskList == null) return;
tasks.add(task);
progresses.add(0);
SwingUtils.appendLast(lstDownload, task.getInfo(), "0%");
@@ -238,6 +239,7 @@ public class TaskWindow extends javax.swing.JDialog
@Override
public void onDone(Task task) {
SwingUtilities.invokeLater(() -> {
if(taskList == null) return;
pgsTotal.setMaximum(taskList.taskCount());
pgsTotal.setValue(pgsTotal.getValue() + 1);
int idx = tasks.indexOf(task);
@@ -251,6 +253,7 @@ public class TaskWindow extends javax.swing.JDialog
@Override
public void onFailed(Task task) {
SwingUtilities.invokeLater(() -> {
if(taskList == null) return;
failReasons.add(task.getInfo() + ": " + (null == task.getFailReason() ? "No exception" : task.getFailReason().getLocalizedMessage()));
pgsTotal.setMaximum(taskList.taskCount());
pgsTotal.setValue(pgsTotal.getValue() + 1);
@@ -270,6 +273,7 @@ public class TaskWindow extends javax.swing.JDialog
@Override
public void setStatus(Task task, String sta) {
SwingUtilities.invokeLater(() -> {
if(taskList == null) return;
int idx = tasks.indexOf(task);
if (idx == -1) return;
SwingUtils.setValueAt(lstDownload, task.getInfo() + ": " + sta, idx, 0);