//=============================================C // Appletによる関数y=a*x**nの描画    C // 表示ボタンをクリックすると描画 C // 実数aは0.5,1.0,1.5,2.0,2.5,3.0から選択 C // 整数nは値として与える C // 2009年5月4日 後 保範(東京工芸大学) C //=============================================C import java.applet.*; import java.awt.*; import java.awt.event.*; public class applet2 extends Applet { double a=1.0; int n=2; Button btn; //ボタンの設定 Choice a_v; //係数aのアイテム設定 TextField n_v; // 初期値の設定 public void init() { Label La1=new Label("y=ax**nの計算, n="); n_v = new TextField("2",0); //整数nの値入力 Label La2=new Label(" a="); a_v = new Choice(); //実数aの選択 btn = new Button("表示"); //表示ボタン for (int i=1; i<=6; i++) //aの選定リスト { a_v.addItem(""+(i/2.0)); } add(La1); add(n_v); //パネルへnを追加 add(La2); add(a_v); //パネルへaを追加 add(btn); //パネルへボタン追加 btn.addActionListener(new ActionAdp()); //ボタン処理 a_v.addItemListener(new ItemAdp()); //アイテム追加 a_v.select(1); //a=1.0(2番目)で表示 } // ボタンクリックの実装クラス */ class ActionAdp implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getSource() == btn) //「表示」クリック { n = Integer.valueOf(n_v.getText() ).intValue(); //nの入力 repaint(); } //再描画 } } // アイテム(aの選)の実装クラス */ class ItemAdp implements ItemListener { public void itemStateChanged(ItemEvent e) { Object source = e.getSource(); if (source == a_v) //aの選定 { a = (a_v.getSelectedIndex() + 1)*0.5; } } } public void paint(Graphics g) { int k, sz = 400, j1=0; double dx=3.0/sz, dy=sz/4.0; //座標スケール double x,y; g.setColor(Color.white); g.fillRect(0,0,sz,sz); //全体を白に // 軸の表示 g.setColor(Color.black); //軸は黒に int sz3 = 3*sz/4; g.drawLine(0,sz3,sz,sz3); //x軸表示 g.drawLine(sz/6,sz3,sz/6,sz3+10); g.drawLine(5*sz/6,sz3,5*sz/6,sz3+10); g.drawLine(sz/2,sz,sz/2,50); //y軸表示 g.drawLine(sz/2,sz/2,sz/2+10,sz/2); // y=ax**n関数の表示 g.setColor(Color.blue); //描画色を青に for (k=0; k