aboutsummaryrefslogtreecommitdiff
path: root/src/net/cbaines/suca/CalendarApplet.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/cbaines/suca/CalendarApplet.java')
-rw-r--r--src/net/cbaines/suca/CalendarApplet.java82
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);
+
+ }
+}