import java.awt.*; import java.awt.event.MouseEvent; import java.applet.*; import java.net.*; import java.util.*; import java.io.*; import java.lang.*; import java.text.*; class DataWindow extends Frame{ TextArea DataBox = new TextArea(); Button SubmitButton = new Button("Submit"); Label blank1 = new Label("",Label.LEFT); String title; private boolean DataOk, BadDegree=false; Fit fit; int Ndata; String strData; double data[]; Double Dval; StringTokenizer st; private int Degree; private boolean Constant; String Method, Order; String msg1 = "Bad number in input"; String msg2 = "Wrong number of data elements"; String msg3 = "Insufficient data cards"; String msg4 = "Singular matrix problem"; TextDialog dl; reg Caller; DataWindow(){} DataWindow(String title, reg Caller){ super(title); this.title = title; this.Caller = Caller; DoLayout(); } public final void DoLayout(){ addNotify(); resize(400, 300); DataBox.setFont(new Font ("Courier", Font.PLAIN, 12)); DataBox.setBackground(Color.white); DataBox.setForeground(Color.black); SubmitButton.setFont(new Font ("Arial", Font.PLAIN, 12)); SubmitButton.setBackground(Color.lightGray); SubmitButton.setForeground(Color.black); this.setBackground(Color.blue.darker()); this.setForeground(Color.black); GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints constraints = new GridBagConstraints(); setLayout(gridbag); //Row 1 buildConstraints(constraints, 0, 0, 1, 1, 100, 80); constraints.fill = GridBagConstraints.BOTH; constraints.anchor = GridBagConstraints.CENTER; gridbag.setConstraints(DataBox, constraints); add(DataBox); //Blank card buildConstraints(constraints, 0, 1, 1, 1, 100, 5); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.CENTER; gridbag.setConstraints(blank1, constraints); add(blank1); //Row 2 buildConstraints(constraints, 0, 2, 2, 1, 100, 15); constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.CENTER; constraints.ipadx = 40; gridbag.setConstraints(SubmitButton, constraints); add(SubmitButton); show(); validate(); DataBox.requestFocus(); } public void buildConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy){ gbc.gridx = gx; gbc.gridy = gy; gbc.gridwidth = gw; gbc.gridheight = gh; gbc.weightx = wx; gbc.weighty = wy; } public Insets insets(){ return new Insets(40, 15, 45, 15); } public void DoFit(){ fit = new Fit(data, Ndata, Method, Order, Degree, Constant, false); if(fit.WRONG_Nb_DATA){ dl = new TextDialog(this, "", msg2, true); return; } if(fit.INSUFFICIENT_DATA){ dl = new TextDialog(this, "", msg3, true); return; } if(fit.GAUSS_SINGULAR){ dl = new TextDialog(this, "", msg4, true); return; } new OutputWindow(" Output", this); return; } public int getNwords(){ return(st.countTokens()); } public void getDoubleWords(){ int i; data = new double[Ndata]; for(i=0; i