import java.applet.Applet; import java.awt.Graphics; import java.net.URL; import java.net.URLConnection; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.*; public class SendRequest extends Applet { private int state; private String response; public SendRequest() { } // applet methods // ==================================== public void init() { state = 0; response = ""; } public void start() { if(response.lenght() == 0 && state = 0) { Thread t = new Thread() { public void run() { requestData(); } }); t.setName("Task Handler"); t.start(); } } public void stop() { } public void destroy() { response = ""; state = 0; } // ------------------------------------- private String getState() { switch(state) { case 0: return "Initializing"; case 1: return "Requesting data"; case 2: return "Processing data"; case 3: return "Creating XML"; case 4: return "Done"; } } private void requestData() { state = 1; // do stuff processData(); } private void processData() { state = 2; // do stuff processXML(); } private void processXML() { state = 3; // do stuff response = "XML DATA"; state = 4; } public void paint(Graphics g) { g.drawRect(0, 0, 499, 149); g.drawString(getState(), 5, 70); } public String getResponseText() { return response; } }