JAVAプログラミング講座 宇宙のJAVAさん
- STORY 1 -
さて、この講座では、JAVA
Applet を作っていきます。
JAVA
Applet って何みゃん???
簡単に言うと「ホームページ(WWWブラウザ)上で動作するプログラム」です。普通のアプリケーションでしたら、別に
JAVA を使わなくても作れます。せっかくの JAVA
ですから、ホームページに飾れる Applet を作りましょう!

はーい!
| めっせーじ はんどら(いべんと くどー) |
さて、Applet
に限らず、Windows プログラムは、メッセージハンドラ(イベント駆動)でプログラムを行います。
みゃん????
MD-DOS等のプログラムは
main関数
を上から順に処理していきます。たとえばぁ・・・
| main() { ques1(); ans1(); ques2(); ans2(); } ques1(){ ques2(){ ans1(){ ans2(){
|
さて、牛君は昔
MS-DOS
でCプログラムをやってたね!このようなプログラムがあったとき、処理順番はどうなるかな?(赤字はプログラム群)
main
の記述順番に関数が実行されるから、 若さって何だ?、振り向かない事さ、愛って何だ?、ためらわない事さ、の順で動作するもぉーーー
。
あたりです! ところが
Applet プログラム(Windowsプログラム)の場合は、そうはいかないのです。まず
main関数がありません。そこで上から順番でなく、決められた時(イベント発生時)に、決められた関数が実行されます。
init(){ 男なんだろう } print(){ mouseDown(){ |
例えば、こんな感じになります。
も! main関数が無いもー。どこから始まるんだもー???
????
正確に言うとどこからも始まりません。ただし、それぞれの関数は実行すべきタイミングを持っています。
init()
プログラム起動時に実行(1回限りの実行)。
paint()
画面作画関数
(1)最初に実行され画面作画。
(2)Windowが隠れてまた表に出て来た時に実行され画面作画。
(3)プログラム内で repaint() が実行された時。
mouseDown()
マウスが押されたときに実行。
と、決まっています。だから、プログラムをスタートすると、男なんだろう が実行され、次に ぐずぐずするなよ
が実行されて画面に作画されます。(ここでは例としてよく使う3つの関数を紹介しましたが、こういう関数はたくさんあります)
わかったにゃん!! マウスが押されると 胸のエンジンに が実行するにゃん!!
そのとおり!! ただし、他のWindowsに隠れたりした後
再び表示されたり、最小化後 再び表示された場合は ぐずぐずするなよ
が再び実行され、作画されます。
では、ミャアちゃん、プログラム講座おきまり中のおきまり!「Hello
JAVA」の文字を画面に出す場合はどこに記述すれば良いか解りますか??
作画なので、paint()
に記述するにゃあ!!
init(){ } print(){ mouseDown(){ |
はい、そのとおりです。では牛君、マウスボタンを押したら画面に「Hello
JAVA」と出るプログラムはどうでしょうか???
うーーん、こうかもー!!!
init(){ } print(){ mouseDown(){ |
うーーん、確かにこれでもマウスを押すと画面に文字が出ます。でも文字が出た後、画面が他の
Window に隠れて、再び前面に出たとき、文字は消えてしまいます!!
再作画時に
paint() が実行されるので、すべての作画に関するプログラムは
paint() 内に書かなくてはいけません!!
int flag; init(){ flag = 0; } print(){ mouseDown(){ |
ボタンを押した後画面が隠れても文字が消えないようにするには、変数(ここでは変数名は
flag )を使ってこのようにします。 repaint()
という命令を実行すると、paint()関数が実行され画面作画されます(この場合、型は
int よりも boolean の方が良いのだが、ここでは int を使いました)。
このプログラムでは、最初
init() で flag が 0
に設定されます。よって、プログラムスタート時の paint()
では何も表示されません( if (flag==1)
でないから・・)。で、マウスボタンが押されると flag は 1
になるので、画面に文字が表示されます。
文字が出た後、画面が他の Window に隠れて、再び前面に出たときでも
flag は 1 のままですので、画面には文字が表示されます。
なるほどもーー。paint()
以外で作画した場合、その作画が消える事があるのかもぉーー
牛君、そのとおり!! だからすべての作画は
paint() の中で行います。
さて、STORY
1 はここらでおしまい。 次回は実際に JAVA Applet
プログラムを作ってみましょう!!

はーーーい!!
- 続く -
![]()