#author("2019-06-20T17:03:14+09:00","default:takataka","takataka")
#author("2019-06-20T17:03:35+09:00","default:takataka","takataka")
*グラフィックス基礎及び実習 2019年度 第11回 [#e9701092]

#contents

&color(#ff0000){工事中}; 
//&color(#ff0000){工事中}; 
//**注意 [#notice]

**課題A(self) 完成目標: 今回の実習終了まで  [#kadaiA]

+ 講義資料 1/4 と 2/4 をよく読んでから,右のリンク先のPDFファイルを閲覧し,手書きの部分を講義資料に書き写しなさい.[[資料(学内アクセス限定)>Graphicsgakunai:scan2018-11-p12.pdf]]
+ 講義資料 2/4 の HelloEvent クラスを作って動かしてみよう

**課題B(self) 完成目標: 今回の実習終了まで [#kadaiB]

[[G11PochiSample.class>Graphics:G11PochiSample.class]]

+ 上記リンク先のクラスファイルをダウンロードしていつもの場所に置き,実行してみなさい.
-- よく観察しよう.最初はどうなってるか? ボタンを押すとどうなるか?
-- ボタンを押した回数を,2つのボタンを区別せずカウントして,それが5回以上になるとメッセージが変化する.
+ これと同じ動作をするプログラムを作りなさい.ただし,クラス名は G11Pochi とすること.

ヒント:
上記の動作を実現するには,ボタンが押された回数をカウントする必要がある.イベントハンドラからアクセスされるものなので,回数を数えるための変数をG11Pochi クラスのインスタンス変数として宣言,ボタンのイベント処理ごとにその変数を ++,それが一定回数以上なら...としたらよい.


**課題C(TA) 締切:  次回実習開始直後 [#kadaiC]


[[G11OmikujiSample.class>Graphics:G11OmikujiSample.class]]

+ 上記リンク先のクラスファイルをダウンロードしていつもの場所に置き,実行してみなさい.
+ これと同じ動作をするプログラムを作りなさい.ただし,クラス名は G11Omikuji とすること.
-- それぞれの確率は等しくならないよう工夫すること
-- メッセージは好きに工夫すればよい.大吉,吉,凶,大凶以外に追加したりしてもよい.

ヒント:
- サンプルのようなコンポーネント配置を実現するには,Button の prefWidth プロパティを設定 & BorderPane を使うとよい.
- Math クラスのクラスメソッド random を使おう(p.41)



**課題S(omake)  [#kadaiS]
//&color(#ff0000){工事中}; 

[[G11MenuSample.class>Graphics:G11MenuSample.class]]

上記リンク先のクラスファイルをダウンロードしていつもの場所に置き,実行してみよう.
これと同じ動作をするプログラムを作ろう.ただし,次の指示に従うこと.

- クラス名は G11Menu とする
- 項目数が増減しても平気なように,配列をうまく使おう.
++ 次のようにファイル名と Image オブジェクトの配列を作ろう
#pre{{
	/* Image オブジェクトの配列の作成 */
	String[] fns = { "pochittona.png", "blackuni.jpg", "whiteuni.jpg" };
	Image[] imgs = new Image[fns.length];
	for(int i = 0; i < imgs.length; i++){
	    imgs[i] = new Image(fns[i]);
	}
}}
++ MenuItem も配列にしよう.
++ イベントハンドラの登録は,for文使って書こう.
- これできたら課題Tも実は簡単.ぜひどうぞ.
**課題T(omake) [#kadaiT]
//&color(#ff0000){工事中}; 

[[G11TimerSample.class>Graphics:G11TimerSample.class]]

上記リンク先のクラスファイルをダウンロードしていつもの場所に置き,実行してみよう.
これと同じ動作をするプログラムを作ろう.ただし,次の指示に従うこと.

- クラス名は G11Timer とする
- 課題S同様に配列を使おう
- 次々画像が切り替わって表示される仕組みは,一定時間間隔でイベントを発生させるタイマーとそのイベント処理である.JavaFX でタイマーを使うには,以下を参考にしたらよい.
-- http://tomasmikula.github.io/blog/2014/06/04/timers-in-javafx-and-reactfx.html の Periodic action のところ
-- https://docs.oracle.com/javase/8/javafx/api/javafx/animation/Timeline.html
-- 教科書 15.4.3 節

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS