Presentation is loading. Please wait.

Presentation is loading. Please wait.

GridLayout オブジェクト(省略)

Similar presentations


Presentation on theme: "GridLayout オブジェクト(省略)"— Presentation transcript:

1 GridLayout オブジェクト(省略)
Applet Event 後半 Name : 青木良樹 ID : onionsong 内容: Button オブジェクト Checkbox オブジェクト Choice オブジェクト TextField オブジェクト GridLayout オブジェクト(省略) 01 AppletEvent後半

2 4 Button オブジェクト Button2.java の説明 1
public class Button2 extends Applet implements ActionListener{ // ボタンをクリックした時の、アクションイベントを行うために    ActionListener を実装。 Init メソッド Button b = new Button(“Hello”); // Button b を宣言して、Button b をラベル Hello で作成。 // Button(String label) add(b); // ボタン b を配置。 b.addActionListener(this); // イベント付きのボタンにするためにActionListenerへ登録。 6 11 12 13 02 Button.javaの説明1

3 4 Button オブジェクト Button2.java の説明 2
actionPerformed メソッド public void actionPerformed(ActionEvent e) アクションイベントが発生するとここのメソッドに飛ぶ。 この場合はボタンがクリックされたときにここに飛ぶ。 18 03 Button2.javaの説明2

4 4 Button オブジェクト Button2.java の流れ
1 Button b; で b をプログラム内に作成 2 new Button(“Hello”); で b をボタン化し、 Hello というラベルを貼り付ける 3 add(b); で b を配置 4 b.addActionListener(this); b をイベント付きのボタンにするためにActionListenerに登録 b 1 Hello 2 Hello Show 3 7 ~~~~ ~~~~~ ボタンbが押されたらactionPerformedへ飛ぶ ActionListener 4 5 click 絵を描く actionPerformed メソッド 6 04 Button2.javaの流れ

5 4 Button オブジェクト Button()コンストラクタの概要
Button(String label) 指定されたラベルを持つボタンを構築します。 05 Button()コンストラクタの概要

6 4 Button オブジェクト 演習 Button3.java
ヒント: 0-9 までの乱数を作るには , (int)Math.round(Math.random() *10.0) を実行する. 毎回書換えるには,repaint()を呼ぶ. 向きを覚えておくインスタンス変数を使う. 06 演習Button3.java

7 4 Button オブジェクト 演習 Button3.java 解答例
import java.applet.*; import java.awt.*; import java.awt.event.*; public class Button3 extends Applet implements ActionListener { Graphics g; int angle = 30; // 角度を代入しておく変数を宣言:初期値30 public void init(){ Button b = new Button(“Hello”); // ボタンの宣言と作成 add(b); // ボタンの配置 b.addActionListener(this); // リスナーに登録 g = getGraphics(); } public void actionPerformed(ActionEvent e){ angle = (int)Math.round(Math.random()*360); // 乱数0~359を作成 repaint(); public void paint(Graphics g){ g.fillArc(100, 100, 100, 100, angle, 300); 07 演習Button3.java

8 5 Checkbox オブジェクト Checkbox2.java の説明 1
public class Checkbox2 extends Applet implements ItemListener{ // チェックボックスをクリックした時の、  アイテムイベントを行うためにItemListener を実装。 Init メソッド Checkbox c1 = new Checkbox(“Turn”); // Checkbox c1 を宣言して、c1 をラベル Turn で作成。 // Checkbox(String label) add(c1) // Checkbox c1 の配置。 c1.addItemListener(this); // イベント付きのCheckboxにするため、ItemListenerへ登録。 6 12 13 14 08 Checkbox2.javaの説明1

9 5 Checkbox オブジェクト Checkbox2.java の説明 2
itemStateChanged メソッド public void itemStateChanged(ItemEvent e) // アイテムイベントが発生するとここのメソッドに飛ぶ。 // この場合はチェックボックスがクリックされたときにここに飛ぶ。 // チェックボックス版のactionPerformedメソッドのようなもの。 Checkbox c = (Checkbox)e.getItemSelectable(); // getItemSelectable() でc にイベントの発生元を代入。 String s = c.getLabel(); // getLabel() で s に c のラベルを代入。 25 26 27 09 Checkbox2.javaの説明2

10 5 Checkbox オブジェクト Checkbox2.java の説明 3
if(c.getState()) color = Color.red; // getState()でチェックボックスの状態を取得。チェックが入っ ていたら 赤。 else color = Color.green; // そうでなかったら 緑。 29 32 10 Checkbox2.javaの説明3

11 11 Checkbox()コンストラクタの概要
5 Checkbox オブジェクト Checkbox()コンストラクタの概要 Checkbox() ラベルなしのチェックボックスを作成します。 Checkbox(String label) 指定されたラベルが付いたチェックボックスを作成します。 Checkbox(String label, boolean state) 指定されたラベルが付いたチェックボックスを作成し、指定された 状態に設定します。 Checkbox(String label, boolean state, CheckboxGroup group) 指定されたラベルが付いたチェックボックスを、指定された チェックボックスグループに構築し、指定された状態に設定します。 11 Checkbox()コンストラクタの概要

12 5 Checkbox オブジェクト 演習 Checkbox3.java
 Checkbox2.java を改良し,“Open“ ボタンを付けた Checkbox3.javaを書け.ここでパックマンは、指定されている時だけ口を開ける. 簡単な解答: ラベルが「Open」のCheckboxを作成する。 変数 t2 を作成し、g.fillArc(100, 100, 100, 100, t, t2);と変更す る。 if(s.equals("Open")){ if(c.getState()) t2 = 300; else t2 = 360; } を追加。 12 演習Checkbox3.java

13 6 Choice オブジェクト Choice1.java の説明 1
public class Choice1 extends Applet implements ItemListener{ // チェックボックスと同様クリックした時の、  アイテムイベントを行うためにItemListener を実装。 Init メソッド Choice c = new Choice(); // Choice オブジェクト c を宣言、作成。 c.addItem("Red"); // c に「Red」という項目を追加。 c.addItemListener(this); // c をイベント付きのChoiceにするため、ItemListenerへ登録。 add(c); // c の配置 6 10 11 14 15 13 Choice1.javaの説明1

14 6 Choice オブジェクト 演習 Choice2.java
 Choice1.java を改良し,North, South, West, East の選択に より位置を移動するパックマン Choice2.java を書け. 簡単な解答: 新しいChoiceオブジェクトを作成し, North, South, West, East の項目を追加。 位置を決定する変数 x と y を作成し, g.fillArc(x, y, 100, 100, 30, 300); に変更。 if(s.equals("North")) {y = 50; x = 100;} else if(s.equals("South")) {y = 150; x = 100;} のように,itemStateChangedメソッドに条件式を追加。 14 演習Choice2.java

15 7 TextField オブジェクト TextField1.java の説明
public class TextField1 extends Applet implements TextListener{ // テキストボックスで,イベントを行うために     TextListener を実装。 TextField m; // TextField m の宣言。 Init メソッド m = new TextField("hello", 20); // TextField m を初期値 hello サイズ 20 で作成。 m.addTextListener(this); // イベントを受け取らせるためにリスナーに追加。 add(m); // TextField を配置。 5 7 11 12 13 15 TextField1.javaの説明

16 textValueChangedメソッド
7 TextField オブジェクト TextField1.java の流れ 1 TextField m; で m をプログラム内に作成. 2 new TextField(“hello”, 20); で m をテキストフィールド化し,   初期値を hello に,横のサイズを 20 に設定. 3 m.addTextListener(this); でイベントを受け取らせるためにリスナーに追加. 4 add(m); で m を配置. m 1 2 hello Size 20 Show 4 hello ~~~~ ~~~~~ mの値が変更されたらtextValueChangedに飛ぶ。 TextListener 3 5 入力 hello 8 7 変数 s に入力されている文字列を 描画 paintメソッド 変数 s へ,テキストフィールドに 入力されている文字列を代入 textValueChangedメソッド 6 16 TextField1.javaの流れ

17 17 TextField()コンストラクタの概要
7 TextField オブジェクト TextField()コンストラクタの概要 TextField() 新しいテキストフィールドを構築します。 TextField(int columns) 指定された列数で新しい空のテキストフィールドを構築します。 TextField(String text) 指定されたテキストで初期化された新しいテキストフィールドを構築します。 TextField(String text, int columns) 指定されたテキストが表示されるように初期化され、指定された 列数を表示できる幅の新しいテキストフィールドを構築します。 17 TextField()コンストラクタの概要

18 7 TextField オブジェクト 演習 TextField2.java
  TextField1.java を書換えて,大きさが指定できるパックマン TextField2.java を書け. ヒント :  入力された文字列は整数型ではないので,変換が必要。 18 演習TextField2.java

19 7 TextField オブジェクト 演習 TextField2.java 解答例
import java.applet.*; import java.awt.*; import java.awt.event.*; public class TextField2 extends Applet implements TextListener{ TextField m; int size = 50; public void init(){ m = new TextField("サイズを入力", 20); m.addTextListener(this); add(m); } public void paint(Graphics g){ g.setColor(Color.blue); g.fillArc(100, 100, size, size, 30, 300); public void textValueChanged(TextEvent e){ size = Integer.parseInt(m.getText()); repaint(); 19 演習TextField2.java解答例

20 宿題 宿題1 TextField3.java: テキスト9.7より.
 宿題 宿題1 TextField3.java:  テキスト9.7より.  TextField2.java を参考に,大きさの指定を別のボタンで 行うTextField3.javaを書け. 20 宿題1 TextField3.java

21 宿題 宿題2 Key3.java: MouseEventを使って マウスを押した回数が 押したところに表示される
 宿題 宿題2 Key3.java:  MouseEventを使って マウスを押した回数が 押したところに表示される プログラムを書いてください。 お願いしますm(__)m 21 宿題2 Count.java

22 宿題 宿題3 ChangeColor.java:
 宿題 宿題3 ChangeColor.java:  一番上のテキストフィールドに文字を入力すると,TextField1.java と同様に下にリアルタイムにテキストを表示する.  次の三つのテキストフィールドは,左からそれぞれ色の,Red , Green , Blue , 値を示す.  一番下のボタンをクリックするとRGBの値を読み込み文字とパックマンの色を変更する.  というプログラム ChangeColor.java を作ってください. 22 宿題3 ChangeColor.java


Download ppt "GridLayout オブジェクト(省略)"

Similar presentations


Ads by Google