「Java活用編」 第1回
グラフィックスの表示とコンポーネントのデザイン
JDKの java.awtパッケージによって提供されるグラフィックス機能、
既存のコンポーネントのデザインのコントロールのを練習します。
準備1:(学内向け)
各自のJavaの課題の作業用のディレクトリ ~/java2 に移動しなさいなさい。
準備2:(学内向け)
次のようにして実習に必要なファイルをコピーしてください。
cp ~tatsuo/elephant.gif . (Linuxの場合)
*Windowsの場合は右の画像を elephant.gif という名前で
z:\java2 に保存してください。
基本課題1:「キャンバスに絵を描く」
キャンバス上に絵を描くため、Canvasのクラスを継承して新しいクラス
DrawCanvasを生成し、表示させてみましょう。
- ソースファイル
DrawCanvas.javaを作成しなさい。
- ソースファイル DrawCanvasTest.java
を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行して結果を確認しなさい。
基本課題2:「コンポーネントの使用(1)」
基本的な Swingコンポーネント JButtonの使用の練習です。
- ソースファイル
JButtonTest.java
(教科書 P.105)を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行して結果を確認しなさい。
基本課題3:「コンポーネントの使用(2)」
複合的な Swingコンポーネント JColorChooserの使用の練習です。
- ソースファイル
JColorChooserTest.java
(教科書 P.106)を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行して結果を確認しなさい。
どんな操作が可能かも調べてみなさい。
基本課題4:「Graphics2Dの新機能(1)」
Graphics2Dの機能を用いて線の太さをコントロールします。
- ソースファイル
Line2DTest.java
(教科書 P.107-8)を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行して結果を確認しなさい。
基本課題5:「Graphics2Dの新機能(2)」
Graphics2Dの機能を用いて図形の重ね合わせをコントロールします。
- ソースファイル
ClassNameTest.java
(教科書 P.111-2)を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行して結果を確認しなさい。
基本課題6:「コンポーネントの内部構造(1)」
java.awtのコンポーネントの内部構造を調べます。
- ソースファイル
PeerTest.java
(教科書 P.116)を作成しなさい。
- javac コマンドでコンパイルをしなさい。
(この時「推奨されないAPI」という警告が出ますが、
サンプルの実行には支障ありません。)
- javaコマンドで実行して結果を確認しなさい。
基本課題7:「コンポーネントの内部構造(2)」
javax.swingのコンポーネントの内部構造を調べます。
- ソースファイル
LookAndFeelTest.java
(教科書 P.118-9)を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行して結果を確認しなさい。
基本課題8:「paint()メソッドの修正)」
自分のオリジナルなグラフィック表示を試してみましょう。
- 課題1のプログラムの paint()メソッド内の命令を書き換えて、
自分で考えた図形が表示するように変更してみなさい。
参考:
GraphicsクラスのAPIドキュメント
Graphics2DクラスのAPIドキュメント
今週のレポート課題(学内用):
ここまでの課題が終わった人は、下記の項目を
tatsuo宛のメール
で報告しなさい。(Subjectは program18)
- 課題5,6 のプログラムを実行した環境
(Linuxかそれとも Windowsか)と
標準出力に表示されたクラス名(パッケージ名も含む)
- 課題8のプログラムのソース
応用課題1:「JToolTipの利用」
- ソースファイル
JToolTipTest.java
を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行しなさい。
- 表示されたラベルのオブジェクトの上に、
マウスのポインタを移動してしばらく様子を見なさい。
応用課題2:「システムに依存するクラス」
- マシンのシステムを切替えて、再度課題5,6のプログラムを実行してみなさい。
標準出力に表示されるクラス名が異なることを確認しなさい。
実習の目次
今週の講義の内容