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 );
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 }