グラフィックス基礎及び実習 2019年度 第11回†
課題A(self) 完成目標: 今回の実習終了まで†
- 講義資料 1/4 と 2/4 をよく読んでから,右のリンク先のPDFファイルを閲覧し,手書きの部分を講義資料に書き写しなさい.資料(学内アクセス限定)
- 講義資料 2/4 の HelloEvent クラスを作って動かしてみよう
課題B(self) 完成目標: 今回の実習終了まで†
G11PochiSample.class
- 上記リンク先のクラスファイルをダウンロードしていつもの場所に置き,実行してみなさい.
- よく観察しよう.最初はどうなってるか? ボタンを押すとどうなるか?
- ボタンを押した回数を,2つのボタンを区別せずカウントして,それが5回以上になるとメッセージが変化する.
- これと同じ動作をするプログラムを作りなさい.ただし,クラス名は G11Pochi とすること.
ヒント:
上記の動作を実現するには,ボタンが押された回数をカウントする必要がある.イベントハンドラからアクセスされるものなので,回数を数えるための変数をG11Pochi クラスのインスタンス変数として宣言,ボタンのイベント処理ごとにその変数を ++,それが一定回数以上なら...としたらよい.
課題C(TA) 締切: 次回実習開始直後†
G11OmikujiSample.class
- 上記リンク先のクラスファイルをダウンロードしていつもの場所に置き,実行してみなさい.
- これと同じ動作をするプログラムを作りなさい.ただし,クラス名は G11Omikuji とすること.
- それぞれの確率は等しくならないよう工夫すること
- メッセージは好きに工夫すればよい.大吉,吉,凶,大凶以外に追加したりしてもよい.
ヒント:
- サンプルのようなコンポーネント配置を実現するには,Button の prefWidth プロパティを設定 & BorderPane を使うとよい.
- Math クラスのクラスメソッド random を使おう(p.41)
課題S(omake)†
G11MenuSample.class
上記リンク先のクラスファイルをダウンロードしていつもの場所に置き,実行してみよう.
これと同じ動作をするプログラムを作ろう.ただし,次の指示に従うこと.
- クラス名は G11Menu とする
- 項目数が増減しても平気なように,配列をうまく使おう.
- 次のようにファイル名と Image オブジェクトの配列を作ろう
/* 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)†
G11TimerSample.class
上記リンク先のクラスファイルをダウンロードしていつもの場所に置き,実行してみよう.
これと同じ動作をするプログラムを作ろう.ただし,次の指示に従うこと.
- クラス名は G11Timer とする
- 課題S同様に配列を使おう
- 次々画像が切り替わって表示される仕組みは,一定時間間隔でイベントを発生させるタイマーとそのイベント処理である.JavaFX でタイマーを使うには,以下を参考にしたらよい.