import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class gui extends JFrame{
private JLabel info;
private JButton start, stop;
private JProgressBar progressBar;
public gui() {
//create an object of EventHandler
EventHandler listener = new EventHandler();
EventHandler2 listener2 = new EventHandler2();
start = new JButton("Start download");
start.addActionListener(listener);
stop = new JButton("Stop Download");
stop.addActionListener(listener2);
info = new JLabel("Homestuck Downloader", SwingConstants.CENTER);
progressBar = new JProgressBar(0, 100);
progressBar.setValue(0);
progressBar.setStringPainted(true);
//create window, add components
Container pane = getContentPane();
pane.setLayout(new GridLayout(4,1));
pane.add(info);
pane.add(progressBar);
pane.add(start);
pane.add(stop);
// 4 methods to create a window
setSize(300,200);
setTitle("Homestuck Downloader");
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
// while working, do this
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
progressBar.setIndeterminate(true);
Runnable r = new Downloader();
new Thread(r).start();
}
}
private class EventHandler2 implements ActionListener {
public void actionPerformed(ActionEvent e) {
// stop the program and return mouse and progressbar to normal
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
progressBar.setIndeterminate(false);
Downloader stop = new Downloader();
}
}
}