*グラフィックス基礎及び実習 2017年度 第10回 [#e9701092]

#contents

//&color(#ff0000){工事中}; 
**注意 [#notice]
***プログラムの作成場所 [#t361c723]

今回以降は,演習課題のプログラムを次のように整理しよう.

--ディレクトリ ~/Graphics20XY/turtle にはかめさん関係のソースファイル,クラスファイルなど
--ディレクトリ ~/Graphics20XY/g にはGUIやグラフィックス関係のソースファイル,クラスファイルなど(今回以降はほとんどこちら)
-- ディレクトリ ~/Graphics20XY には上記のどちらでもないファイルをおく

ディレクトリの作り方などを忘れた人は [[Docs/4UNIXBeginners]] へどうぞ.
***アイコン用画像 [#wef438fa]

今日の実習では,アイコン用にいくつか画像を用いる.
以下のものをクラスファイルと同じ場所に保存しておくこと.

-[[pochittona.png>Graphics:pochittona.png]]
-[[blackuni.jpg>Graphics:blackuni.jpg]]
-[[whiteuni.jpg>Graphics:whiteuni.jpg]]

それぞれどんな画像かは,ImageMagickのdisplayコマンドを用いて確認できる.

 $ display pochittona.png &
***実行例の見た目について [#w604a594]

この科目のページに示されたプログラムの実行例は,Mac OS X / macOS 上でのデフォルトの Look&Feel にそった見た目になっている.
実行環境が異なれば見た目も異なる場合があるので注意.
それから,ウィンドウをキャプチャした画像をはり付けてあるだけなので,ボタンを押しても反応してくれません  (^^)
**課題A(self)  [#kadaiA]

この課題のくわしいことは授業時に説明します.

**課題B(self) 完成目標: 今回の実習終了まで [#kadaiB]
問1,2を全てやりなさい
***問1   はじめてのGUI作成 [#l2c836a1]
+ 教科書p.116 / 講義資料 5/5 の Hello クラスを作って動かしてみよう
-- &color(red){上記「注意」にあるように,ファイルの置き場所に注意}; 
+ 右のリンク先のPDFファイルを閲覧し,手書きの部分を講義資料に書き写しなさい.[[資料(学内アクセス限定)>Graphicsgakunai:scan2017-10-p5.pdf]]
-- (?_?) なところがいっぱいあるかもしれませんが,後の講義でじっくり説明します
***問2  ぽちっとな  [#gc407bbb]

&ref(http://www-tlab.math.ryukoku.ac.jp/~takataka/course/Graphics/G10exA.png);

Helloクラスを元にして,上のような見た目の得られるクラスを作りなさい.
- クラス名は G10Pochi とすること.
- 画像ではウィンドウタイトルが G10exA となっているが,適当に変更したらよい.
- 「「ねこボタン」ってなんやねん」の部分は,「ラベル」である.

以下を参考にしたらよい.(?_?) なところがいっぱいあるかもしれませんが,想像力と探究心を発揮して考えながら取り組んでみよう.後の講義でも説明します.
+ 上記のようにボタンにアイコン画像を表示する方法は,教科書 p.118 「11.2.2 アイコン画像の表示」に説明されている.
+ ボタン2つとラベル1つを上記のように配置する方法については,教科書 p.122 「11.3.4  BorderLayout クラス」の説明を参考にしたらよい. 
**課題C(TA) 締切:  次回実習開始直後 [#kadaiC]

教科書p.128のリスト11.4のプログラムとp.129のリスト11.5のプログラムを参考にして,次のような表示をするプログラムを作成しなさい.
次のことに注意.

- クラス名は G10Check とすること.
- 画像ではウィンドウタイトルが G10exB となっているが,適当に変更したらよい.
-コンボボックスのメニュー項目は自分で適当なものを考えればよい.
-JComboBox は,Java 7 になる時に仕様が変更になっている.Java 6 までと Java 7 以降では書き方が異なるので注意(cf. 教科書 p.129).
-下側にはチェックボックスが2つある.右側のチェックボックスには「ねこチェックボックス」という表示があり,猫の画像をアイコンに使用している.
リスト11.4を参考に,このチェックボックスの非選択時の画像には blackuni.jpg を,選択時の画像には whiteuni.jpg を用いることにしよう.
-この図のようにコンポーネントを配置するには,BorderLayoutを用いたらよい.

&ref(http://www-tlab.math.ryukoku.ac.jp/~takataka/course/Graphics/G10exB.png);



**課題S(おまけ)  [#kadaiS]

次のことをやりなさい.

+講義資料のQ2(ヒント:JRadioButtonはSwingのパッケージに含まれている)
+G10Checkの左側のチェックボックスをラジオボタンに変更したプログラムを作成しなさい(G10Radio)
+以下のプログラムを作成し,その動作を確認しなさい(FileChooser)
--2つのウィンドウが重なって表示されるかもしれない.ウィンドウを移動させてみるとよいかも.
--Java APIの中からJFileChooserクラスの説明を探して読もう.
+FileChooser を改造して,画像ファイルを選択したらその画像を表示する(最初に表示されていた画像を置き換える)ものにしなさい
--選択したファイルが画像でない場合のことは考えなくて構いません
--ヒント1: 15行目,35,36行目を書くだけでいけます
--ヒント2: JLabelクラスのインスタンスメソッド setIcon() を使おう


&ref(http://www-tlab.math.ryukoku.ac.jp/~takataka/course/Graphics/FileChooser.png);

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