/////// Factor.java /////// import java.awt.*; import java.io.*; import java.net.*; import java.applet.*; import java.awt.event.*; import java.net.URLEncoder; /** * Applet for polynomial factoring. * A polynomial in infix notation is forwarded to a * factoring server to retrieve all irreducible factors * over the integers * @author Paul S. Wang */ public class Factor extends Applet { public void init() { browser = getAppletContext(); server = "http://SymbolicNet.mcs.kent.edu" + cgi; tf = new TextField(30); tf.setBackground(Color.cyan); Button s = new Button(" Submit "); add(tf); add(s); s.addActionListener(new SubmitHandler()); } private final class SubmitHandler implements ActionListener { public void actionPerformed(ActionEvent e) { factor(tf.getText()); } } protected void factor(String poly) { String to = "polynomial=" + URLEncoder.encode(poly); CgiClient cc = new CgiUrl(server); cc.postQuery(to); try { String msg = cc.readNextLine(); URL url = new URL(msg); browser.showDocument(url, "_blank"); //to = "delete=" + URLEncoder.encode(url.getFile()); //CgiClient.post(server, to); } catch(MalformedURLException e) { JavaSystem.error(e); } catch(IOException e) { JavaSystem.error(e); } } protected TextField tf; protected AppletContext browser; protected String server; static String cgi = "/cgi-bin/jfac?factor+y^3-x^3"; }