summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/gui/ProgressReporter.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2013-02-08 15:17:48 +0100
committerAndrew Branson <andrew.branson@cern.ch>2013-02-08 15:17:48 +0100
commit8849a5f9cdea4c5cabc2216b38f35274375b4c05 (patch)
tree39f0a2962629f31d03288001d71b987fbb5ef62c /src/main/java/com/c2kernel/gui/ProgressReporter.java
parent1e7f63219e88b36d788dda8cc4d07c13f840d82d (diff)
Added bouncy bar to the status pane to make people feel better when the
system is busy.
Diffstat (limited to 'src/main/java/com/c2kernel/gui/ProgressReporter.java')
-rw-r--r--src/main/java/com/c2kernel/gui/ProgressReporter.java72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/main/java/com/c2kernel/gui/ProgressReporter.java b/src/main/java/com/c2kernel/gui/ProgressReporter.java
new file mode 100644
index 0000000..9cfb1d7
--- /dev/null
+++ b/src/main/java/com/c2kernel/gui/ProgressReporter.java
@@ -0,0 +1,72 @@
+/*
+ * ProgressReporter.java
+ *
+ * Copyright (c) 2013, The CRISTAL Consortium. All rights reserved.
+ *
+ * CRISTAL kernel is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see:
+ * http://www.gnu.org/licenses/
+ */
+
+package com.c2kernel.gui;
+
+import java.awt.Color;
+import java.awt.Dimension;
+
+import javax.swing.Box;
+import javax.swing.BoxLayout;
+import javax.swing.JLabel;
+import javax.swing.JProgressBar;
+
+public class ProgressReporter extends Box {
+
+ JLabel status = new JLabel();
+ JProgressBar progress = new JProgressBar();
+
+ /**
+ *
+ */
+ public ProgressReporter() {
+ super(BoxLayout.X_AXIS);
+ status.setText("Cristal");
+ //status.setBorder(BorderFactory.createLoweredBevelBorder());
+ status.setForeground(Color.black);
+ status.setPreferredSize(new Dimension(400, progress.getPreferredSize().height));
+ //progress.setBorder(BorderFactory.createLoweredBevelBorder());
+ add(status);
+ //add(Box.createHorizontalGlue());
+ progress.setPreferredSize(new Dimension(200, progress.getPreferredSize().height));
+ add(progress);
+ }
+
+ /**
+ * @param status
+ */
+ public void startBouncing(String statusString) {
+ status.setText(statusString);
+ progress.setIndeterminate(true);
+ }
+
+ /**
+ * @param status
+ */
+ public void stopBouncing(String statusString) {
+ status.setText(statusString);
+ progress.setIndeterminate(false);
+ }
+
+ public void setProgress(String statusString, int percent) {
+ progress.setIndeterminate(false);
+ progress.setValue(percent);
+ }
+}