[BACK]Return to PolyCalc.java CVS log [TXT][DIR] Up to [local] / OpenXM / src / OpenMath

File: [local] / OpenXM / src / OpenMath / PolyCalc.java (download)

Revision 1.4, Tue Nov 2 15:10:31 1999 UTC (24 years, 6 months ago) by tam
Branch: MAIN
Changes since 1.3: +18 -3 lines

add usage

/**
 * $OpenXM: OpenXM/src/OpenMath/PolyCalc.java,v 1.4 1999/11/02 15:10:31 tam Exp $
 */

import JP.ac.kobe_u.math.tam.OpenXM.*;
import java.applet.*;
import java.awt.*;

class PolyCalc extends Applet{
  private String host;
  int ControlPort,DataPort;
  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 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();

    //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 1:");
      gridbag.setConstraints(label,c);
      add(label);
    }

    random1_button = new Button("generate random polynomial");
    gridbag.setConstraints(random1_button,c);
    add(random1_button);

    mul_button = new Button("poly1 * poly2"); 
    c.gridwidth = GridBagConstraints.REMAINDER;
    gridbag.setConstraints(mul_button,c);
    c.gridwidth = 1;
    add(mul_button);

    poly1 = new TextField(20);
    c.gridwidth = 2;
    gridbag.setConstraints(poly1,c);
    c.gridwidth = 1;
    add(poly1);

    remainder_button = new Button("poly1 % poly2");
    //c.gridx = 2;
    //c.weightx = 0.0;
    gridbag.setConstraints(remainder_button,c);
    add(remainder_button);

    swap_button = new Button("swap poly1 & poly2");
    c.gridwidth = GridBagConstraints.REMAINDER;
    gridbag.setConstraints(swap_button,c);
    c.gridwidth = 1;
    add(swap_button);

    {
      Label label = new Label("poly 2:");
      gridbag.setConstraints(label,c);
      add(label);
    }

    random2_button = new Button("generate random polynomial");
    gridbag.setConstraints(random2_button,c);
    add(random2_button);

    set_button = new Button("poly1 <= poly2");
    c.gridwidth = GridBagConstraints.REMAINDER;
    gridbag.setConstraints(set_button,c);
    c.gridwidth = 1;
    add(set_button);

    poly2 = new TextField();
    c.gridwidth = 2;
    gridbag.setConstraints(poly2,c);
    c.gridwidth = 1;
    add(poly2);
  }



  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 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";

    return ret;
  }


  public static void main(String argv[]){
    Frame frame = new Frame("Polynomial Calculator");
    Applet applet;
    String host = "localhost";
    int DataPort = 1300, ControlPort = 1200;

    for(int i=0;i<argv.length;i++){
      if(argv[i].equals("-h")){
        System.out.print(usage());
        System.exit(0);
      }else if(argv[i].equals("-host")){
        host = argv[++i];
      }else if(argv[i].equals("-data")){
        DataPort = Integer.valueOf(argv[++i]).intValue();
      }else if(argv[i].equals("-control")){
        ControlPort = Integer.valueOf(argv[++i]).intValue();
      }else{
        System.err.println("unknown option : "+ argv[i]);
        System.err.print(usage());
        System.exit(1);
      }
    }
    applet = new PolyCalc(host,ControlPort,DataPort);

    applet.init();
    frame.add("Center",applet);
    frame.pack();
    frame.setSize(frame.getPreferredSize());
    frame.show();
    applet.start();
  }
}