Top / Graphics / 2016 / ex13

グラフィックス基礎及び実習 2016年度 第13回 [edit]

課題A(TA) 締切: 今回の実習終了15分前 [edit]

G13DoraGUISample.class

上記のクラスファイルをダウンロードして実行してみなさい.この G13DoraGUISample クラス は,G11DoraSample クラスを使ってます

次のことをやりなさい.

step1 [edit]

G13DoraGUISample を実行し,次のような場面でどんなことが起こるかよく観察しよう.

  • マウスカーソルが G11DoraSample のコンポーネントに入った/そこから出た
  • 次の2カ所のいずれかをクリックした
    • それ以外

step2 [edit]

G13DoraGUISample と同様の動作をするクラス G13DoraGUI を作ろう.ただし,次のような条件を満たすように作ること.

  • G11Dora クラスを利用する(G13DoraGUI の JPanel に G11Dora を add する).ただし,G11Dora クラスに,次のような仕様のメソッド onNose の定義を追加する
boolean onNose(int x, int y)
位置 (x,y) が鼻を表す円内だったら true,さもなくば false を返す
  • イベント処理は G13DoraGUI クラスで行うようにし,そこで上記の onNose メソッドを呼び出すようにする.
  • イベント発生時に表示させるメッセージは,G13DoraGUI クラスのクラス変数として定義する(サンプルの文例が気に入らなければ好きに変更したらよい).

check 以下の問への答えを考えなさい

  1. このプログラムではどのイベントクラスを扱ってる? そのためになんというリスナーインターフェースを実装してる?
  2. そのリスナーのために定義したイベント処理メソッドはどれ?
  3. 鼻をクリックしたら「いたい!いたい!」という過程を説明しなさい

課題B (special) 締切: 次回4講時開始直後 [edit]

  1. 本日の講義資料とともに配布した2011年度定期試験問題の [2] (p.2とp.3)をやり,Grade.java および Hoge.java を実際に作成しなさい.解答の仕方は次の通り:
    • (1)-(4) Hoge.java に書く.どの行がどの問の解答かわかるように,次の例を参考にコメントをつけよう
      Hogeo h = new Hogeo();  // ★ (2) ★
    • (5) - (9) Grade.java に書く.どの部分がどの問の解答かわかるように,コメントをつけよう.(6) から (9) については,問に記された順序(まず (6) の「インスタンス変数/クラスヘンスの宣言」.次に (7) の「インスタンスメソッドの定義」,... )でプログラムも書くこと.
  2. できた2つのソースを授業開始までに印刷してすぐ提出できるようにしておくこと
    • 手書きで修正したものは受け付けません
    • ここで他人の丸写しまたは他人に教わってよく理解せずに正しいプログラムを提出したとしても,実際の試験対策,そして将来の何かには役に立たないかもしれません.自分の頭を使いましょう.

課題S(おまけ) [edit]

以下のリンク先のものと同様のプログラムを作りなさい. ヒントが必要なら適宜たずねてください.

DoraFuku.png どら福笑い by takataka

DoraFace.class DoraFuku.class

直接部品をドラッグ&ドロップできる方が直感的で優れたインタフェイスだと思いますが,そちらの方がだいぶ複雑なプログラムになると思われます.より簡単な例を示すために,上記ではメニュー形式を採用しています.

G13DoraS.png 銅鑼美福笑い by 2016年度TAのK村くん

G13DoraS.class

↑に上記のようなことを書いたら,K村くんが部品をクリックして移動できるプログラムの作成に挑戦してくれました.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-06-27 (月) 13:25:54 (1032d)