Top / Graphics / 2017 / ex13

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

課題A(self) 締切: 今回の実習終了時 [edit]

以下のプログラムを修正して,次のような動作をするプログラムにしなさい. まずは以下のソースをそのまま入力してコンパイル&実行してみるとよい

  • ボタンを押すとその下に「正」と「一」の組み合わせで数が表示される
  • その数は,起動時は「零」であり,「壱」ボタンを押すと1増え,「拾」ボタンを押すと10増える

ヒントと注意:

  • 以下では G12Counter という名前になっているが,G13Counter という名前にしよう
  • 2つのクラスメソッド(seiとmain)を修正する必要はないはず
  • カウント数から「正」と「一」への変換には与えられたメソッドを利用しよう
  • ラベルを書き換えたいですねえ.p.126 の JLabel のAPI仕様を見てみよう

G12CounterQ.png

課題B(self) 締切: 今回の実習終了時 [edit]

本日の講義資料とともに配布した2011年度定期試験問題の [2] (p.2とp.3)をやり,Grade.java および Hoge.java を実際に作成しなさい.

  • (1)-(4) の解答は,Hoge.java にコメントをつけて,どの行がどの問の解答かわかるようにしよう
  • (5) - (9) の解答は,Grade.java にコメントをつけて,どの部分がどの問の解答かわかるようにしよう.(6) から (9) については,問に記された順序(まず (6) の「インスタンス変数/クラスヘンスの宣言」.次に (7) の「インスタンスメソッドの定義」,... )でプログラムも書くこと.
  • ここで他人の丸写しまたは他人に教わってよく理解せずに正しいプログラムを作っても,実際の試験対策,そして将来の何かには役に立たないかもしれません.自分の頭を使いましょう.

課題C(TA) 締切: 次回実習開始直後 [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. 鼻をクリックしたら「いたい!いたい!」という過程を説明しなさい

課題S(おまけ) [edit]

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

DoraFuku.png どら福笑い by takataka

DoraFace.class DoraFuku.class

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

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

G13DoraS.class

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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-06-24 (土) 14:50:35 (94d)