/** * $OpenXM: OpenXM/src/OpenMath/PolyCalc.java,v 1.5 1999/11/02 15:58:11 tam Exp $ */ import JP.ac.kobe_u.math.tam.OpenXM.*; import java.applet.*; import java.awt.event.*; import java.awt.*; class PolyCalc extends Applet implements ActionListener{ private String host = "localhost"; private int ControlPort = 1200,DataPort = 1300; private OpenXM oxm; //private Button random1_button,random2_button; //private Button mul_button,remainder_button,swap_button,set_button; private TextField poly1,poly2; private TextArea textarea; private boolean debug = false; //private Text PolyCalc(String host,int ControlPort,int DataPort){ this.host = host; this.ControlPort = ControlPort; this.DataPort = DataPort; } public void init(){ GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); Button button; //setFont(); setLayout(gridbag); c.fill = GridBagConstraints.BOTH; textarea = new TextArea(); textarea.setEditable(false); c.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(textarea,c); c.gridwidth = 1; add(textarea); { Label label = new Label("poly A:"); gridbag.setConstraints(label,c); add(label); } button = new Button("generate random polynomial A"); button.addActionListener(this); gridbag.setConstraints(button,c); add(button); button = new Button("A * B"); button.addActionListener(this); c.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(button,c); c.gridwidth = 1; add(button); poly1 = new TextField(20); poly1.addActionListener(this); c.gridwidth = 2; gridbag.setConstraints(poly1,c); c.gridwidth = 1; add(poly1); button = new Button("A % B"); button.addActionListener(this); //c.gridx = 2; //c.weightx = 0.0; gridbag.setConstraints(button,c); add(button); button = new Button("swap A & B"); button.addActionListener(this); c.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(button,c); c.gridwidth = 1; add(button); { Label label = new Label("poly B:"); gridbag.setConstraints(label,c); add(label); } button = new Button("generate random polynomial B"); button.addActionListener(this); gridbag.setConstraints(button,c); add(button); button = new Button("poly1 <= poly2"); button.addActionListener(this); c.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(button,c); c.gridwidth = 1; add(button); poly2 = new TextField(); c.gridwidth = 2; gridbag.setConstraints(poly2,c); c.gridwidth = 1; add(poly2); button = new Button("quit"); button.addActionListener(this); c.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(button,c); c.gridwidth = 1; add(button); } public void actionPerformed(ActionEvent e) { String arg = e.getActionCommand(); debug("press \""+ arg +"\" button."); /* if ("first".equals(arg)) { ((CardLayout)cards.getLayout()).first(cards); } else if ("next".equals(arg)) { ((CardLayout)cards.getLayout()).next(cards); } else if ("previous".equals(arg)) { ((CardLayout)cards.getLayout()).previous(cards); } else if ("last".equals(arg)) { ((CardLayout)cards.getLayout()).last(cards); } else { ((CardLayout)cards.getLayout()).show(cards,(String)arg); } */ } public void start(){ textarea.append("Connecting to "+ host +"("+ ControlPort +","+ DataPort +")\n"); try{ oxm = new OpenXM(host,ControlPort,DataPort); textarea.append("Connected.\n"); }catch(java.io.IOException e){ textarea.append("failed.\n"); stop(); } } private void debug(String str){ if(debug){ System.out.println(str); } } private static String usage(){ String ret = ""; ret += "usage\t: java PolyCalc [options]\n"; ret += "options\t:\n"; ret += "\t -h \t show this message\n"; ret += "\t -host hostname \t (default localhost)\n"; ret += "\t -data port \t (default 1300)\n"; ret += "\t -control port \t (default 1200)\n"; ret += "\t -debug \t display debug message\n"; return ret; } public static void main(String argv[]){ Frame frame = new Frame("Polynomial Calculator"); //Applet applet; PolyCalc applet; String host = "localhost"; int DataPort = 1300, ControlPort = 1200; for(int i=0;i