Graphics/2021/ex11
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*グラフィックス基礎及び実習 2021年度 第11回 実習と宿題 [#...
#contents
//&color(#ff0000){''工事中''};
//**注意 [#notice]
**実習課題A 締切: 当日13:30 [#kadaiA]
&color(#00a000){''以下のことをやって,作ったソースファイ...
''以下で使っているソースファイルは,Graphics チーム上に置...
*** Step1 [#xa31447c]
+ ソースファイル CounterApp.java を入手する
+ そのままコンパイル&実行して動作確認する
+ イベント処理が実装されていないので,次の機能を実装する...
-- 「+1」ボタンを押すたびに表示される数が1ずつ大きくなる...
-- 「Reset」ボタンを押すと表示される数が0になるようにうする
***Step2 [#r23ad893]
+ ソースファイル CounterApp2.java を入手する
+ そのままコンパイル&実行して動作確認する
+ イベント処理の部分を修正して,Step1 のようにカウントで...
-- Counter クラスのインスタンスを生成して使いましょう
-- Counter クラスの中身をいじる必要はないはずです
***Step3 [#x104ece8]
+ Step2 の CounterApp2.java 中で TextField クラスのインス...
つまり,start メソッド内の
#pre{{
TextField tf = new TextField(String.valueOf(cnt.get()));
}}
という行を
#pre{{
tf = new TextField(String.valueOf(cnt.get()));
}}
に変更して,適当な場所に以下の行を追加する.
#pre{{
TextField tf;
}}
+ 同様に,Counter クラスのインスタンスを表す変数も,Count...
+ start メソッドの末尾に以下を追加する
#pre{{
// tf でのイベント処理
tf.setOnAction((event)->{ procInput(); });
}}
+ CounterApp2 クラスに以下のメソッドを追加する.ただし,...
#pre{{
void procInput() {
System.out.print("カウンタの値は "+cnt.get());
System.out.println(" テキストフィールドの文字列は "+t...
}
}}
+ コンパイル&実行して動作確認する
-- 2つのボタンを押したときの動作は Step2 と同様のはず
-- テキストフィールドに適当にキー入力して Enter を押すと...
*** Step4 [#r33a1adc]
+ procInput の中身(だけ)を修正して,次のことができるよ...
-- テキストフィールドに整数として解釈できる文字列が入力さ...
-- テキストフィールドに入力された文字列が整数として解釈で...
+ 完成したプログラムのソースファイル(''CounterApp2.java ...
**実習課題B 締切: 当日16:00 [#kadaiB]
&color(#00a000){''以下のことをやって,作ったソースファイ...
//&color(red){''ソースファイルの入手法については別途説明...
(1) &ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/co...
>
+ ファイルをダウンロード.
-- 「この種類のファイルはコンピュータに損害を与える可能性...
Graphics チーム上にも同じファイルが置いてあります.
-- ダウンロードしたファイルはどこにあってもよいですが,整...
+ 実行.たいていの環境ではダウンロードしたファイルをダブ...
-- Macで「開発元が未確認のため開けません」のようなメッセ...
-- Win/Mac ともダブルクリックで開けない場合は,コマンドプ...
java -jar G11OmikujiSample.jar
+ jar ファイルというのが何者か興味があるひとは,教科書 p....
<
(2) 上記サンプルと同じことをするプログラムを作ろう.クラ...
>
:static String draw()| 呼ばれるたびにランダムに "大吉: 一...
<
- くじの種類を変えたり確率を変えたりしたくなるかもですが...
- ''ウィンドウ幅が小さくて文字列が隠れるのを避けるため,...
**宿題 [#hw]
&color(#00a000){''次回授業までに必ずやっておくこと''};
次回の授業の資料(PDFや動画)等は [[こちら>../../2021#ex1...
+ 講義資料を入手.紙でほしい方は各自で印刷してください.
>
キャンパス内各所に設置されたプリンタで印刷することもでき...
<
+ 授業動画を視聴する
>
学内の実習室等に設置の PC ではスピーカから音が出ませんの...
<
+ 講義資料・授業動画に出てくるプログラムを実際に作って実...
**実習課題S(omake) 締切: 次回実習時間終了時 [#kadaiS]
&color(#00a000){''これはおまけ課題です.やらなくても減点...
(moodle の「おまけ課題」のところに,「自由課題」というの...
//&color(#ff0000){''工事中''};
[[G11MenuSample.jar>Graphics:G11MenuSample.jar]]
上記リンク先の jar ファイルをダウンロードして,実行してみ...
これと同じ動作をするプログラムを作ろう.ただし,次の指示...
- クラス名は G11Menu とする
- 項目数が増減しても平気なように,配列をうまく使おう.
++ 次のようにファイル名と Image オブジェクトの配列を作ろう
#pre{{
/* Image オブジェクトの配列の作成 */
String[] fns = { "pochittona.png", "blackuni.jpg", "whit...
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(#00a000){''これはおまけ課題です.やらなくても減点...
(moodle の「おまけ課題」のところに,「自由課題」というの...
[[G11TimerSample.jar>Graphics:G11TimerSample.jar]]
上記リンク先の jar ファイルをダウンロードしていつもの場所...
これと同じ動作をするプログラムを作ろう.ただし,次の指示...
- クラス名は G11Timer とする
- 課題S同様に配列を使おう
- 次々画像が切り替わって表示される仕組みは,一定時間間隔...
-- http://tomasmikula.github.io/blog/2014/06/04/timers-in...
-- https://docs.oracle.com/javase/8/javafx/api/javafx/ani...
-- 教科書 15.4.3 節
終了行:
*グラフィックス基礎及び実習 2021年度 第11回 実習と宿題 [#...
#contents
//&color(#ff0000){''工事中''};
//**注意 [#notice]
**実習課題A 締切: 当日13:30 [#kadaiA]
&color(#00a000){''以下のことをやって,作ったソースファイ...
''以下で使っているソースファイルは,Graphics チーム上に置...
*** Step1 [#xa31447c]
+ ソースファイル CounterApp.java を入手する
+ そのままコンパイル&実行して動作確認する
+ イベント処理が実装されていないので,次の機能を実装する...
-- 「+1」ボタンを押すたびに表示される数が1ずつ大きくなる...
-- 「Reset」ボタンを押すと表示される数が0になるようにうする
***Step2 [#r23ad893]
+ ソースファイル CounterApp2.java を入手する
+ そのままコンパイル&実行して動作確認する
+ イベント処理の部分を修正して,Step1 のようにカウントで...
-- Counter クラスのインスタンスを生成して使いましょう
-- Counter クラスの中身をいじる必要はないはずです
***Step3 [#x104ece8]
+ Step2 の CounterApp2.java 中で TextField クラスのインス...
つまり,start メソッド内の
#pre{{
TextField tf = new TextField(String.valueOf(cnt.get()));
}}
という行を
#pre{{
tf = new TextField(String.valueOf(cnt.get()));
}}
に変更して,適当な場所に以下の行を追加する.
#pre{{
TextField tf;
}}
+ 同様に,Counter クラスのインスタンスを表す変数も,Count...
+ start メソッドの末尾に以下を追加する
#pre{{
// tf でのイベント処理
tf.setOnAction((event)->{ procInput(); });
}}
+ CounterApp2 クラスに以下のメソッドを追加する.ただし,...
#pre{{
void procInput() {
System.out.print("カウンタの値は "+cnt.get());
System.out.println(" テキストフィールドの文字列は "+t...
}
}}
+ コンパイル&実行して動作確認する
-- 2つのボタンを押したときの動作は Step2 と同様のはず
-- テキストフィールドに適当にキー入力して Enter を押すと...
*** Step4 [#r33a1adc]
+ procInput の中身(だけ)を修正して,次のことができるよ...
-- テキストフィールドに整数として解釈できる文字列が入力さ...
-- テキストフィールドに入力された文字列が整数として解釈で...
+ 完成したプログラムのソースファイル(''CounterApp2.java ...
**実習課題B 締切: 当日16:00 [#kadaiB]
&color(#00a000){''以下のことをやって,作ったソースファイ...
//&color(red){''ソースファイルの入手法については別途説明...
(1) &ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/co...
>
+ ファイルをダウンロード.
-- 「この種類のファイルはコンピュータに損害を与える可能性...
Graphics チーム上にも同じファイルが置いてあります.
-- ダウンロードしたファイルはどこにあってもよいですが,整...
+ 実行.たいていの環境ではダウンロードしたファイルをダブ...
-- Macで「開発元が未確認のため開けません」のようなメッセ...
-- Win/Mac ともダブルクリックで開けない場合は,コマンドプ...
java -jar G11OmikujiSample.jar
+ jar ファイルというのが何者か興味があるひとは,教科書 p....
<
(2) 上記サンプルと同じことをするプログラムを作ろう.クラ...
>
:static String draw()| 呼ばれるたびにランダムに "大吉: 一...
<
- くじの種類を変えたり確率を変えたりしたくなるかもですが...
- ''ウィンドウ幅が小さくて文字列が隠れるのを避けるため,...
**宿題 [#hw]
&color(#00a000){''次回授業までに必ずやっておくこと''};
次回の授業の資料(PDFや動画)等は [[こちら>../../2021#ex1...
+ 講義資料を入手.紙でほしい方は各自で印刷してください.
>
キャンパス内各所に設置されたプリンタで印刷することもでき...
<
+ 授業動画を視聴する
>
学内の実習室等に設置の PC ではスピーカから音が出ませんの...
<
+ 講義資料・授業動画に出てくるプログラムを実際に作って実...
**実習課題S(omake) 締切: 次回実習時間終了時 [#kadaiS]
&color(#00a000){''これはおまけ課題です.やらなくても減点...
(moodle の「おまけ課題」のところに,「自由課題」というの...
//&color(#ff0000){''工事中''};
[[G11MenuSample.jar>Graphics:G11MenuSample.jar]]
上記リンク先の jar ファイルをダウンロードして,実行してみ...
これと同じ動作をするプログラムを作ろう.ただし,次の指示...
- クラス名は G11Menu とする
- 項目数が増減しても平気なように,配列をうまく使おう.
++ 次のようにファイル名と Image オブジェクトの配列を作ろう
#pre{{
/* Image オブジェクトの配列の作成 */
String[] fns = { "pochittona.png", "blackuni.jpg", "whit...
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(#00a000){''これはおまけ課題です.やらなくても減点...
(moodle の「おまけ課題」のところに,「自由課題」というの...
[[G11TimerSample.jar>Graphics:G11TimerSample.jar]]
上記リンク先の jar ファイルをダウンロードしていつもの場所...
これと同じ動作をするプログラムを作ろう.ただし,次の指示...
- クラス名は G11Timer とする
- 課題S同様に配列を使おう
- 次々画像が切り替わって表示される仕組みは,一定時間間隔...
-- http://tomasmikula.github.io/blog/2014/06/04/timers-in...
-- https://docs.oracle.com/javase/8/javafx/api/javafx/ani...
-- 教科書 15.4.3 節
ページ名: