/* * Created on May 23, 2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package org.mindswap.swoop.utils.ui; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.SwingUtilities; import org.mindswap.swoop.SwoopFrame; /** * @author ronwalf * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class SwoopProgressDialog extends JDialog { private JButton cancelBtn; public SwoopProgressDialog(JFrame parent, String message) { super(parent, message); JProgressBar progressBar = new JProgressBar(); progressBar.setIndeterminate(true); cancelBtn = new JButton("Cancel"); cancelBtn.setFont(new Font("Tahoma", Font.PLAIN, 11)); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3)); panel.add(new JLabel(message)); panel.add(Box.createVerticalStrut(5)); panel.add(progressBar); panel.add(Box.createVerticalStrut(5)); panel.add(cancelBtn); getContentPane().add(panel); pack(); setSize(400, getHeight()); setLocation(80,100); setResizable(false); } public void show() { this.getParent().setEnabled(false); super.show(); } public void dispose() { this.getParent().setEnabled(true); super.dispose(); } public void setWorker(final SwingWorker worker) { addWindowListener ( new WindowAdapter() { public void windowClosing(WindowEvent e) { worker.interrupt(); //progressDialog.dispose(); } } ); cancelBtn.addActionListener ( new ActionListener() { public void actionPerformed(ActionEvent e) { SwoopProgressDialog.this.hide(); worker.interrupt(); SwoopProgressDialog.this.dispose(); } } ); } }