import java.awt.*; import java.awt.event.*; import java.applet.*; import java.util.*; public class Applet1 extends Applet { double datax[]=new double[50]; double datay[]=new double[50]; int dsx=0; double minx,fmin; double maxx,fmax; private TextField dataField = new TextField(); private Button mapbutton = new Button(); //引数値の取得 public String getParameter(String key, String def) { return isStandalone ? System.getProperty(key, def) : (getParameter(key) != null ? getParameter(key) : def); } //アプレットのビルド public Applet1() { } //アプレットの初期化 public void init() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } SetData(); recursion(); } //コンポーネントの初期化 private void jbInit() throws Exception { dataField.setText("32.1,34.4,36.2,41.1,39.5,38.6,45.5,44.0,48.9,52.9,53.8,52.4"); dataField.setBounds(new Rectangle(30, 238, 339, 21)); this.setLayout(null); mapbutton.setLabel("再計算"); mapbutton.setBounds(new Rectangle(34, 272, 81, 19)); mapbutton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { mapbutton_actionPerformed(e); } }); this.add(dataField, null); this.add(mapbutton, null); } void mapbutton_actionPerformed(ActionEvent e) { //再描画 SetData(); recursion(); repaint(); } void SetData(){ //データを読む dsx=0; String st=dataField.getText(); StringTokenizer tkn=new StringTokenizer(st,","); while(tkn.hasMoreTokens()){ datax[dsx]=Double.parseDouble(tkn.nextToken()); datay[dsx++]=Double.parseDouble(tkn.nextToken()); } } public void paint(Graphics g){ int osx=20,osy=220; int wd=200,ht=200; //軸を表示 g.drawLine(osx,osy,osx+wd,osy); g.drawLine(osx,osy,osx,osy-ht); //散布図を表示 for(int i=0;idatax[i]) minx=datax[i]; if(maxx