JAVA講座 6時間目
文字列を動かしてみよう。
アプレット
ソースファイル
import java.applet.Applet;
import java.awt.*;
public class Study6 extends Applet implements Runnable {
Thread t1;
int x=0,stringw;
public void start() {
if (t1 == null) {
t1 = new Thread(this);
t1.start();
}
}
public void run() {
while(true) {
repaint();
try {
t1.sleep(100);
} catch (InterruptedException e) { }
}
}
public void paint(Graphics g) {
g.setFont(new Font("Century",Font.BOLD,30));
g.drawString("Welcome to my homepage!",x,50);
x=x - 5;
if (x < -400) x=size().width;
}
public void stop() {
if (t1 != null) {
t1.stop();
t1 = null;
}
}
}
ソースファイルの説明
import java.applet.Applet;
import java.awt.*;
public class Study6 extends Applet implements Runnable {//Runnableインターフェースを組み込む。(*)
Thread t1;//t1というクラス名でThreadクラスをテンプレートにしたクラスを作成します。
int x=0,stringw;//初期値を代入します。
public void start() {//init実行後、実行するメソッドです。
if (t1 == null) {//t1に何も入っていないとき、以下の処理を行います。
t1 = new Thread(this);//作成したクラスの初期化を行います。
t1.start();//runメソッドの実行を開始します。
}
}
public void run() {//スレッドの実行部分です。
while(true) {//「真」の間は以下を実行します。
repaint();
try {//例外処理の設定
t1.sleep(100);//現在実行しているスレッドを100ミリ秒だけ停止します。停止中に何らかの中断が起きた
ときには、例外InterruptedExceptionを生成します。
} catch (InterruptedException e) { }//何らかの事情で中断されたらここに来ます。
}
}
public void paint(Graphics g) {
g.setFont(new Font("Century",Font.BOLD,30));
g.drawString("Welcome to my homepage!",x,50);
x=x - 5;//X座標を5ずらす。
if (x < -400) x=size().width;/X座標が-400よりも小さいときは、アプレットの横幅を戻り値とします。
}
public void stop() {//アプレットのページから別のページにリンクしたときなどに、
後始末として実行するメソッドです。
if (t1 != null) {//t1に何か入っている場合は、以下の処理を行います。
t1.stop();//t1スレッドを停止する。
t1 = null;//t1にnullを代入する。
}
}
}
(*)詳しいことは補講のページを見て下さい。
コメント文が書いていないところは既に前の時間で説明してあります。
7時間目に行く。
JAVA講座のページに戻る。
shimizu@eces.numazu-ct.ac.jp