EndlessProgressDialog.java

00001 package edu.stanford.hci.r3.util.components;
00002 
00003 import java.awt.BorderLayout;
00004 import java.awt.Container;
00005 import java.awt.Font;
00006 
00007 import javax.swing.BorderFactory;
00008 import javax.swing.JDialog;
00009 import javax.swing.JFrame;
00010 import javax.swing.JLabel;
00011 import javax.swing.JPanel;
00012 import javax.swing.JProgressBar;
00013 
00014 import edu.stanford.hci.r3.util.WindowUtils;
00015 
00027 public class EndlessProgressDialog extends JDialog {
00028 
00029         private String text;
00030 
00036         public EndlessProgressDialog(JFrame parentFrame, String title, String message) {
00037                 super(parentFrame, title, false /* not modal */);
00038                 text = message;
00039                 setContentPane(getMainPanel());
00040                 pack();
00041                 setLocation(WindowUtils
00042                                 .getWindowOrigin(getWidth(), getHeight(), WindowUtils.DESKTOP_CENTER));
00043                 setVisible(true);
00044         }
00045 
00049         private JLabel getLabel() {
00050                 final JLabel label = new JLabel(text);
00051                 label.setFont(new Font("Tahoma", Font.PLAIN, 16));
00052                 return label;
00053         }
00054 
00058         private Container getMainPanel() {
00059                 JPanel mainPanel = new JPanel();
00060                 mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
00061                 mainPanel.setLayout(new BorderLayout());
00062                 mainPanel.add(getLabel(), BorderLayout.NORTH);
00063                 mainPanel.add(getProgressBar(), BorderLayout.SOUTH);
00064                 return mainPanel;
00065         }
00066 
00070         private Container getProgressBar() {
00071                 JProgressBar bar = new JProgressBar();
00072                 bar.setIndeterminate(true);
00073                 return bar;
00074         }
00075 }

Generated on Sat Apr 14 18:21:34 2007 for R3 Paper Toolkit by  doxygen 1.4.7