|
import java.awt.*;
|
import java.awt.event.*;
|
import javax.swing.*;
|
|
public class ProgressWindow
|
implements ActionListener, WindowListener
|
{
|
|
public ProgressWindow()
|
{
|
numLabels = 1;
|
aStopped = false;
|
}
|
|
public void setNumLabels(int num)
|
{
|
numLabels = num;
|
}
|
|
public void show()
|
{
|
frame = new JFrame();
|
frame.addWindowListener(this);
|
frame.setDefaultCloseOperation(0);
|
JPanel mainPanel = new JPanel();
|
mainPanel.setLayout(new BoxLayout(mainPanel, 1));
|
//?? mainPanel.add(Box.createVerticalStrut(20));
|
labels = new JLabel[numLabels];
|
for(int i = 0; i < numLabels; i++)
|
{
|
JPanel panel = new JPanel();
|
panel.setLayout(new BoxLayout(panel, 0));
|
JLabel label = new JLabel();
|
//?? panel.add(Box.createHorizontalStrut(20));
|
panel.add(label);
|
//?? panel.add(Box.createHorizontalGlue());
|
mainPanel.add(panel);
|
labels[i] = label;
|
//?? mainPanel.add(Box.createVerticalStrut(5));
|
}
|
|
JPanel panel = new JPanel();
|
panel.setLayout(new BoxLayout(panel, 0));
|
progressBar = new JProgressBar();
|
//?? panel.add(Box.createHorizontalStrut(20));
|
panel.add(progressBar);
|
//?? panel.add(Box.createHorizontalStrut(20));
|
mainPanel.add(panel);
|
aCancel = new JButton("Cancel"); // , cIconLoader.CANCEL);
|
aCancel.addActionListener(this);
|
//?? mainPanel.add(Box.createVerticalStrut(20));
|
JPanel lButton = new JPanel(new FlowLayout(2));
|
lButton.add(aCancel);
|
mainPanel.add(lButton);
|
frame.getContentPane().add(mainPanel);
|
frame.pack();
|
setSize(500, 200);
|
frame.show();
|
}
|
|
public void actionPerformed(ActionEvent e)
|
{
|
if(e.getSource() == aCancel)
|
aStopped = true;
|
}
|
|
public void windowActivated(WindowEvent windowevent)
|
{
|
}
|
|
public void windowClosed(WindowEvent windowevent)
|
{
|
}
|
|
public void windowClosing(WindowEvent e)
|
{
|
aStopped = true;
|
}
|
|
public void windowDeactivated(WindowEvent windowevent)
|
{
|
}
|
|
public void windowDeiconified(WindowEvent windowevent)
|
{
|
}
|
|
public void windowIconified(WindowEvent windowevent)
|
{
|
}
|
|
public void windowOpened(WindowEvent windowevent)
|
{
|
}
|
|
public void setTitle(String title)
|
{
|
frame.setTitle(title);
|
}
|
|
public void setSize(int x, int y)
|
{
|
frame.setSize(x, y);
|
centerInContainer(frame, Toolkit.getDefaultToolkit().getScreenSize());
|
}
|
|
public void setLabelText(int i, String s)
|
{
|
labels[i].setText(s);
|
}
|
|
public void setProgress(int percent)
|
{
|
progressBar.setValue(percent);
|
}
|
|
public void hide()
|
{
|
frame.setVisible(false);
|
frame.dispose();
|
}
|
|
private void centerInContainer(Component component, Dimension containerDimension)
|
{
|
Dimension sz = component.getSize();
|
int x = (containerDimension.width - sz.width) / 2;
|
int y = (containerDimension.height - sz.height) / 2;
|
component.setLocation(x, y);
|
}
|
|
private JFrame frame;
|
private int numLabels;
|
private JLabel[] labels;
|
private JProgressBar progressBar;
|
private static final int INSET = 20;
|
private static final int SEPARATOR = 5;
|
public boolean aStopped;
|
private JButton aCancel;
|
}
|