// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://kpdus.tripod.com/jad.html // Decompiler options: packimports(3) // Source File Name: C:\Sergey\Java\Plota\Calca.java import java.applet.Applet; import java.applet.AppletContext; import java.awt.*; import java.io.*; import java.net.*; import graphs.JSuperSlider; import javax.swing.*; public class Calca extends Applet implements Runnable, Tokens { public void processLine(String text) { m_Program.processLine(text.trim() + "\n"); } public void start() { if(m_Runner == null) { m_Runner = new Thread(this); m_Runner.start(); } m_PanelOut.start(); } public void stop() { if(m_Runner != null) { m_Runner.stop(); m_Runner = null; } m_PanelOut.stop(); } public void setTextField() { m_TextFieldXmin.setText(Double.toString(m_Program.m_Xmin)); m_TextFieldXmax.setText(Double.toString(m_Program.m_Xmax)); m_TextFieldNumPoints.setText(Integer.toString(m_Program.m_NumPoints)); } public void sendData(String receiverName) { Applet receiver = null; receiver = getAppletContext().getApplet(receiverName); if(receiver != null) { if(!(receiver instanceof Plota)) printlnOut("Found applet named " + receiverName + ", " + "but it's not a Plota object.\n"); else ((Plota)receiver).getData(m_Program.m_NumPoints, m_Program.m_Xarr, m_Program.m_Yarr); } else { printlnOut("Couldn't find any applet named " + receiverName + ".\n"); } } public Calca() { m_pszX = 300; m_pszY = 300; m_bInvalid = true; m_Program = new Program(this); setFont(new Font("Helvetica", 1, 12)); } public void clearOut() { m_PanelOut.clear(); } public void printlnOut(String str) { m_PanelOut.println(str); } public void printstrOut(String str) { m_PanelOut.printstr(str); } public int isNumber(String str) { try { int i=Integer.parseInt(str); return i; } catch(Exception e) { return -1; } } public void run() { try { // Open an input stream URL addr=new URL(this.getCodeBase().getProtocol(), this.getCodeBase().getHost(), this.getCodeBase().getPort(), this.getCodeBase().getPath()+"Equations.txt"); DataInputStream din = new DataInputStream(addr.openStream()); int i=isNumber(din.readLine()); while ((i!=eqNum)||(i==-1)) i=isNumber(din.readLine()); processLine("numpoints=400"); //numpoints=400 always processLine(din.readLine()); // xmin=value, from file processLine(din.readLine());// xmax=value, from file processLine(din.readLine());// y=eq in x, from file // this.m_PanelSrc.setText(din.readLine()); // this.m_TextFieldNumPoints.setText(Integer.toString(400)); // this.m_TextFieldXmin.setText(din.readLine()); // this.m_TextFieldXmax.setText(din.readLine()); fin.close(); } catch (IOException e) { System.err.println ("Unable to read from file"); System.exit(-1); } // processLine("numpoints=" + m_Program.m_Var.getValue("numpoints")); // processLine("xmin=" + m_Program.m_Var.getValue("xmin")); // processLine("xmax=" + m_Program.m_Var.getValue("xmax")); // processLine(m_PanelSrc.getText()); do { if(m_bInvalid) { repaint(); m_bInvalid = false; } try { Thread.sleep(1000L); } catch(InterruptedException interruptedexception) { } } while(true); } public boolean action(Event evt, Object what) { if(evt.target == m_TextFieldXmin) processLine("xmin=" + m_TextFieldXmin.getText()); if(evt.target == m_TextFieldXmax) processLine("xmax=" + m_TextFieldXmax.getText()); if(evt.target == m_TextFieldNumPoints) processLine("numpoints=" + m_TextFieldNumPoints.getText()); return false; } public void getTextFields() { m_Program.m_Var.setValue("xmin", Double.valueOf(m_TextFieldXmin.getText()).doubleValue()); m_Program.m_Var.setValue("xmax", Double.valueOf(m_TextFieldXmax.getText()).doubleValue()); m_Program.m_Var.setValue("numpoints", Double.valueOf(m_TextFieldNumPoints.getText()).doubleValue()); } public void setParam(double p1, double p2, double p3, double p4, double p5, double p6){ m_Program.m_Var.setValue("pOne",p1); m_Program.m_Var.setValue("pTwo",p2); m_Program.m_Var.setValue("pThree",p3); m_Program.m_Var.setValue("pFour",p4); m_Program.m_Var.setValue("pFive",p5); m_Program.m_Var.setValue("pSix",p6); this.stop(); this.start(); } public void init() { eqNum = -1; try { eqNum = Integer.parseInt(getParameter("eqNum")); } catch(Exception e){ e.printStackTrace(); } GridBagLayout gridBag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); setLayout(gridBag); m_PanelOut = new PanelOut(this); c.gridwidth = 0; c.anchor = 10; c.fill = 1; c.weightx = 1.0D; c.weighty = 1.0D; gridBag.setConstraints(m_PanelOut, c); add(m_PanelOut); m_PanelSrc = new PanelSrc(this); c.anchor = 10; c.fill = 2; c.weightx = 0.0D; c.weighty = 0.0D; gridBag.setConstraints(m_PanelSrc, c); add(m_PanelSrc); Label labelXmin = new Label("xmin: ", 2); c.gridwidth = 1; gridBag.setConstraints(labelXmin, c); add(labelXmin); m_TextFieldXmin = new TextField("0.0", 7); c.gridwidth = 0; gridBag.setConstraints(m_TextFieldXmin, c); add(m_TextFieldXmin); Label labelXmax = new Label("xmax: ", 2); c.gridwidth = 1; gridBag.setConstraints(labelXmax, c); add(labelXmax); m_TextFieldXmax = new TextField("10.0", 7); c.gridwidth = 0; gridBag.setConstraints(m_TextFieldXmax, c); add(m_TextFieldXmax); Label labelNumPoints = new Label("numpoints: ", 2); c.gridwidth = 1; gridBag.setConstraints(labelNumPoints, c); add(labelNumPoints); m_TextFieldNumPoints = new TextField("200", 7); c.gridwidth = 1; gridBag.setConstraints(m_TextFieldNumPoints, c); add(m_TextFieldNumPoints); validate(); } private Thread m_Runner; public int eqNum; private int m_pszX; private int m_pszY; private boolean m_bInvalid; PanelSrc m_PanelSrc; PanelOut m_PanelOut; Program m_Program; FileInputStream fin; TextField m_TextFieldXmin; TextField m_TextFieldXmax; TextField m_TextFieldNumPoints; }