<授業の進め方について - 1> ・Java既習者にはインターフェースの話題とかつまらんのは仕方ないですね。 ↓ 本来は,知らないからこそ授業を受けるはずなので仕方ないだろう. <授業の進め方について - 2> ・わかっている人にはくどいだけですが一行一行のプログラム の説明を さらに増やしてほしいです ↓ という意見もある.が,プログラミングの授業ではないので, 1行ずつ説明することはあまり考えていない <スクリーンキャプチャについて> ・マウスクリックした時のスクリーンショットの取り方が分からないため、 赤い画面を貼り付けることが出来ない。 ↓ 授業中にデモして見せたように記憶しているが, Macのグラブならば「タイマー」を使ってキャプチャし, 関連する部分を切り出してやれば良い. <プログラムの発展 - 1> ・教科書通りに線を描くことができた。 さらに、int型の変数としてSIZE = 30を指定 し、 mouseDraggedメソッドを次のように書き換えると、 右ボタンプレス、ドラッ グで、消しゴムを使用することもできる。 ↓ 実際に自分でプログラムを考えて試してみることは重要. <プログラムの発展 - 2> ・応用として、描いた円がいちいち残るような仕様にすることも考えたが、 ドラッ グに伴うupdateにより、 古い円が残っていても消えてしまう。 よって、mouseReleasedのたびに円のオ ブジェクトを配列か何かに格納すれば、 updateの際に、新しい円と共にその古い円を描画することもできるのではない かと考える。 しかし配列へ格納したとして、updateの際に その「配列のパラメータによって 全てを描画する」メソッドを考えつかなかった。 ↓ 円を表すクラスを定義して,円のオブジェクトをすべて保存し, paintメソッドが起動された際に描画すれば良いだろう. Javaの配列よりは,Vectorクラスの方が楽だと思われる. <マウスの中央ボタンについて> ・教科書では、マウスの第2ボタンが Macintosh(Mac)では使用できないので、 マウスの第2ボタン を使用するコード(行 24 ~ 25)がコメント化によって 無効になっているが、実際には使用できる. ↓ 確かに現状のシステムでは使えるかも知れない. 実際に試してみることは重要. 仮想機械の実装に依存している部分は, 必ず動作が保証できるというわけでないところが難しい. <キーボードの状態やキーボードイベントについて> ・左/右クリックで色が変わったが、キーボードのイベントを使って、 キーて様々な色が出来る、というようなことはできるのだろうか? ↓ できるはずだが,疑問に思ったら試してみよう <マウスイベントについて> ・実際にはクリック操作が対応するようなところで mouseClicked メソッドでなく mousePressed メソッドを使っているのはどうしてですか?(例えば例5とか) ↓ mouseClicked のイベントは mouseReleased と同時に生じることが多いが, 押した場所という観点からは mousePressed の位置が自然であろう. <イベント,インタフェースなどについて> ・インターフェースの概念がいまいち分からなかった。多重継承とは別物? ・イベントのクラスとインタフェースの処理がよくわからなかった。 ↓ 授業で説明したように,extends には 1つしか書けないが, implements には複数書ける. <getModifiersメソッドについて> ・getModifiersメソットの返す値の意味が理解できなかった。 ↓ これも授業で説明したが,イベント発生時の状態を表すビット列が返される.