X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FProgressBar.java;h=f6710bc244b1d51c92a75585805c225501f4de77;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=8ebc98d356e1588a3a839a98f3cacd56a60806b1;hpb=bd318fe40b8d07db486f47d788dcdc2df8cb9e9c;p=jalview.git diff --git a/src/jalview/gui/ProgressBar.java b/src/jalview/gui/ProgressBar.java index 8ebc98d..f6710bc 100644 --- a/src/jalview/gui/ProgressBar.java +++ b/src/jalview/gui/ProgressBar.java @@ -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 . + * 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);