diff options
Diffstat (limited to 'src/net/cbaines/suca/CalendarApplet.java')
-rw-r--r-- | src/net/cbaines/suca/CalendarApplet.java | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/src/net/cbaines/suca/CalendarApplet.java b/src/net/cbaines/suca/CalendarApplet.java new file mode 100644 index 0000000..2b425fd --- /dev/null +++ b/src/net/cbaines/suca/CalendarApplet.java @@ -0,0 +1,82 @@ +package net.cbaines.suca; + +import java.awt.BorderLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.IOException; +import java.io.InputStream; +import java.io.StringWriter; + +import javax.swing.JApplet; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.JTextField; + +import org.apache.commons.io.IOUtils; + +@SuppressWarnings("serial") +public class CalendarApplet extends JApplet { + + JTextField usernameTextField; + JPasswordField passwordTextField; + + JTextArea csvTextArea; + + public void init() { + // Execute a job on the event-dispatching thread: + // creating this applet's GUI. + try { + javax.swing.SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + createGUI(); + } + }); + } catch (Exception e) { + System.err.println("createGUI didn't successfully complete"); + } + } + + void createGUI() { + JPanel loginPanel = new JPanel(); + JLabel usernameLabel = new JLabel("Username"); + loginPanel.add(usernameLabel); + usernameTextField = new JTextField(10); + loginPanel.add(usernameTextField); + + JLabel passwordLabel = new JLabel("Password"); + loginPanel.add(passwordLabel); + passwordTextField = new JPasswordField(10); + loginPanel.add(passwordTextField); + + JButton go = new JButton("Go"); + loginPanel.add(go); + + JPanel csvPanel = new JPanel(); + JButton downloadCsv = new JButton("Donwload csv"); + csvPanel.add(downloadCsv); + + csvTextArea = new JTextArea(100, 100); + csvPanel.add(new JScrollPane(csvTextArea)); + + loginPanel.add(csvPanel); + + go.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent arg0) { + String csvString = new SotonCalendarFetcher(usernameTextField.getText(), String + .valueOf(passwordTextField.getPassword())).fetchAndParseTimetable(); + + csvTextArea.setText(csvString); + + } + }); + + getContentPane().add(loginPanel, BorderLayout.CENTER); + + } +} |