JAVAプログラミング講座 宇宙のJAVAさん
- STORY 3 -
例のごとく、宇宙のJAVAさんをはじめまーす!!
みゃん!!
もー!
ここでお知らせがあります。
にゃ!?
先日、牛君の携帯電話に電話できませんでしたね・・・
そのとおりだもー!
ちょっと気になったんで調べて見て、原因が分かりました。
沼の向こう側にすんでいるワニ君が、趣味でジャミング(電波妨害)をかけていた事が判明しました。
迷惑な話もー!
でも、もう大丈夫です。 わんわん警察隊により、ワニ君は逮捕され、機材は押収されました。
よかったみゃ!!
謎が解けたところで、講座をはじめまーす。

はーい!
STORY
1 で、ボタンを押すと文字が出るアプレットの解説をしましたが、それを実際に作ってみましょう。
プログラムはこうなります。![]()
ファイル名は
MousePrint.java です。
なるほど。 flag
という関数がボタンを押すと1になるのかもー。
そうです。動作の説明は
STORY 1 を見直してください。
| public void paint(Graphics g) { // 作画処理 if(flag==1){ g.setFont(new Font("TimesRoman", Font.BOLD, 30 )); g.setColor(Color.blue); g.drawString("Hello Sora!!", 100, 80); } } // paint() |
上は、paint()
の中身です。
g.setFont(new Font("TimesRoman",
Font.BOLD, 30 ));
これで作画ペンの文字の、フォントをTimesRoman、サイズを30に設定しています。
g.setColor(Color.blue);
これで作画ペンの色を、青にします。
g.drawString("Hello Sora!!", 100, 80);
座標 100, 80 に「Hello Sora!!」と作画します。
flag が1の場合は、これらの処理が実行されます。
flag
という変数は、paint() 、mouseDown()
の2つの関数の中で使用されています。
複数の関数で使用する変数は、グローバル変数としてソースプログラムの最初に定義します。
次にCGを読み込んで、画面に表示するアプレットを作りましょう。
JavaBase.java を同じフォルダに名前を変えてコピーしてください
ImagePrint.java という名前にしてください。
適当なCGを soraディレクトリに持ってきてきださい。JAVA で読めるCGは、jpeg と gif フォーマットのみです。
コピー&ペースト・・・。 「コピー
〜 JavaBase.java」を「ImagePrint.java」に名前を変更して・・・・。できたみゃ!
質問です! 次は何をしますか??
アプレット名をファイル名と同じ「ImagePrint」に変えるにゃ!
そのとおり! 次のように変えます!
| // =============================================================== public class ImagePrint extends Applet { |
CGの表示は簡単です。 CGを読んで、表示するだけです。
まず、グローバル変数で Image 変数を宣言します。Image は、CGを入れておく箱みたいなものです。 変数名は img にします。
| // グローバル変数 Image img; |
次に、CGを読んで img に収納します。 init() でイメージを読み込むことにします。
| public void init() { // 初期処理 img = getImage(getDocumentBase(), "image01.jpg"); } // init() |
getImage という命令は、CGを読み込む命令です。
ここでは、 image01.jpg という名前のJPEGファイルを
img 変数に読み込んでます。
さて、読み込んだCGを表示します。当然 paint() です。
| public void paint(Graphics g) { // 作画処理 g.drawImage( img, 0, 0, this); } // paint() |
これで、座標 0,0 に img が表示されます。
drawImage という命令は、CGを表示する命令です。最後の this
という引数は気にしないでください。
あとは、MS-DOSプロンプト を立ち上げて、コンパイルしてください。
> javac ImagePrint.java
ImagePrint.class
が出来たもー。 CGも用意したもー!
じゃ、動かしてみましょう。
では、sample.html を書き換えます。
| <APPLET CODE="ImagePrint.class"
WIDTH=640 HEIGHT=480> </APPLET> |
appletviewer で動作させてください。
> appletviewer sample.html ( > av sample.html )
できたもー!
あれ! WWWブラウザでは表示できないもー!!
appletviewer ではCGが出てきたもーに!
ぼくは、WWWブラウザでも問題にゃいにゃ!
牛くん、きみのブラウザは
Internet Explorer 3.02 じゃないか!
そうだもー!
IE3.02 は
JAVA にバグがあって、ローカル(自分のHD)から、CGを読み込むアプレットが動作しないんだ!!
どうするもー??
普通は appletviewer
を使って動作確認するから問題ないけど、IE3.02で動作確認する場合は、自分のホームページに作ったプログラムを送って、インターネット(ネットワーク)経由で動作確認しないとだめだよ・・・・
僕みたいに
Internet Explorer 4.0 、入れたらどうにゃん???
IE4.0
はどうも好きになれないモー。 ネスケ使うもー。
じゃ、プログラムを少し改造しましょう。
マウスをクリックするとCGが動くようにします。
まず、変数 k をグローバル変数として、追加します。
| // グローバル変数 Image img; int k; |
初期値として、k に 0 を init()にて入れます。
| public void init() { // 初期処理 k=0; img = getImage(getDocumentBase(), "image01.jpg"); } // init() |
画像の表示座標を ( k, k ) にします、
| public void paint(Graphics g) { // 作画処理 g.drawImage( img, k, k, this); } // paint() |
これで、最初 k には
0 が入っているので、( 0, 0 )にCGが表示されます。
マウスを押したとき k
を5づつ増やしましょう。 ミャンちゃん、どうやるか解りますか???
マウスを押された時に動作する関数は
mouseDown() みゃん!!
mouseDown() に k を増やすプログラムを追加するにゃん!!
そんでもって、k を増やした後、repaint()
で画面再作画するにゃーーー。
| public boolean mouseDown(Event e, int x, int y) { //
マウスダウン k=k+5; repaint(); return true; } // mouseDown() |
そのとおり! じゃ、プログラムをセーブして、コンパイルしてください。
もー!! マウスをクリックするたびに、CGが右下に移動していくもーー!!
さて今回はこれで終わりです。 みなさん、CGを表示できるようになりましたね!!

はぁ〜い!!
次回は、私の友人の爆裂健を特別教師としてお呼びして、彼にプログラムについて説明して頂きましょう(笑)!!
では、次回お会いしましょう!!

先生、さようなら!
- 続く -
![]()