JAL-1645 Version-Rel Version 2.9 Year-Rel 2015 Licensing glob
[jalview.git] / src / jalview / gui / ProgressBar.java
index 8ebc98d..f6710bc 100644 (file)
@@ -1,6 +1,29 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Copyright (C) 2015 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.gui;
 
+import jalview.util.MessageManager;
+
 import java.awt.BorderLayout;
+import java.awt.Component;
 import java.awt.GridLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -13,8 +36,6 @@ import javax.swing.JPanel;
 import javax.swing.JProgressBar;
 import javax.swing.SwingUtilities;
 
-import jalview.util.MessageManager;
-
 /**
  * A class to manage multiple progress bars embedded in a JPanel.
  */
@@ -101,7 +122,7 @@ public class ProgressBar implements IProgressIndicator
   public void setProgressBar(String message, long id)
   {
     Long longId = Long.valueOf(id);
-  
+
     JPanel progressPanel = progressBars.get(longId);
     if (progressPanel != null)
     {
@@ -125,15 +146,15 @@ public class ProgressBar implements IProgressIndicator
        * No progress bar for this id - add one now
        */
       progressPanel = new JPanel(new BorderLayout(10, 5));
-  
+
       JProgressBar progressBar = new JProgressBar();
       progressBar.setIndeterminate(true);
-  
+
       progressPanel.add(new JLabel(message), BorderLayout.WEST);
       progressPanel.add(progressBar, BorderLayout.CENTER);
-  
+
       addRow(progressPanel);
-  
+
       progressBars.put(longId, progressPanel);
     }
 
@@ -148,7 +169,11 @@ public class ProgressBar implements IProgressIndicator
     /*
      * lay out progress bar container hierarchy
      */
-    SwingUtilities.getRoot(statusPanel).validate();
+    Component root = SwingUtilities.getRoot(statusPanel);
+    if (root != null)
+    {
+      root.validate();
+    }
   }
 
   /**
@@ -218,8 +243,9 @@ public class ProgressBar implements IProgressIndicator
       {
         handler.cancelActivity(id);
         us.setProgressBar(MessageManager.formatMessage(
-                "label.cancelled_params", new Object[]
-                { ((JLabel) progressPanel.getComponent(0)).getText() }), id);
+                "label.cancelled_params",
+                new Object[] { ((JLabel) progressPanel.getComponent(0))
+                        .getText() }), id);
       }
     });
     progressPanel.add(cancel, BorderLayout.EAST);