50 likes | 173 Vues
イヴェント処理(2):テキストフィールド. テキスト・フィールド:数値などをアプレット上で入力し、プログラムを実行。 ボタンとテキストフィールド: インターフェイスは ActionListener メソッドは actionPerformed. イヴェント処理を行うプログラムの基本構造(雛形) Import java.applet.*; Import java.awt.event.*; // イヴェント処理に必要 public class クラス名 extends Applet implements イヴェントリスナー・インターフェイス
E N D
イヴェント処理(2):テキストフィールド テキスト・フィールド:数値などをアプレット上で入力し、プログラムを実行。 ボタンとテキストフィールド: インターフェイスはActionListener メソッドはactionPerformed
イヴェント処理を行うプログラムの基本構造(雛形)イヴェント処理を行うプログラムの基本構造(雛形) Import java.applet.*; Import java.awt.event.*; // イヴェント処理に必要 public class クラス名 extends Applet implements イヴェントリスナー・インターフェイス ・・・ // ボタンとテキストフィールドはActionListener public void init() { // アプレットロード時の初期化メソッド ・・・ GUI部品の作成 } // end init public void actionPerformed(ActionEvent e) { ・・・ ボタンが押されたときの処理 } // end actionPerformed
イヴェントリスナー イヴェント発生(例えばボタンが押された) →イヴェントを処理する場所であるリスナーに伝達 →リスナーに実装されているメソッドが実行される 手順1:implements イヴェントリスナー 手順2:イヴェントに対応するメソッドを addイヴェントリスナー()メソッドで設定 (手順3:プログラムが実行される)
例: sample 8 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class PreyPred extends Applet implements ActionListener { // 手順1 TextField aTXT, bTXT, cTXT; // 係数a、b、cのためのテキストフィールド Button rButton; double a, b, c; public void init() { // アプレットロード時にまず読み込む a=1.42; b=0.55; c=5.14; //係数の初期値 add(new Label(“被食・捕食方程式”)); // 文字列を表示 rButton = new Button(“描画”); // ボタン・オブジェクトの生成 add(rButton); add(new Label(“a=”)); aTXT=new TextField(“1.42, 3”); // aの初期値を表示。bとcは省略 rButton.addActionListener(this); // 手順2 aTXT.addActionListener(this); // 手順2、bとcは省略 }
public void actionPerformed(ActionEvent e) { String str; if (e.getSource() == rButton) { str=aTXT.getText().trim; // アプレット上から入力された // 係数aの値を文字列として読み込む a=new Double(str).doubleValue(); // 読み込んだ文字列を // double型に変換して格納 ・・・ bとcは省略 repaint();// ボタンが押されたときの処理 }