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); } }