Document

Applet
岡部 祐典
鈴木 敬幸
準備
・フォルダの作成
Javaフォルダ内で
mkdir Applet
・フォルダのコピー
Appletフォルダに移動して
cp ~/harujion/Java/Applet/* .
Appletとは?
Appletとはwebブラウザから直接読み込んで
実行できる形式のプログラムのことです。
単独のアプリケーションと比べて、必要な
プログラミング量が減る特徴があります。
Appletを使う際には
import java.applet.Applet;
を宣言します。
AppletではAppletクラスを
スーパークラスとして定義する
public class Hello extends Applet {
java.appletパッケージのAppletクラスを継承します
webブラウザで実行するため
mainメソッドは使用しません。
かわりにhtmlファイルを作成します。
Graphicsクラス
Graphicsクラスは、描画を行うために使用し
ます。
その際、
import java.awt.Graphics;
を宣言します。
Hello.java
import java.awt.Graphics;
import java.applet.Applet;
Appletクラスのpaintメソッド
をオーバーライド(再定義)
している
public class Hello extends Applet{
public void paint(Graphics g){
g.drawString("Hello",100,20);
}
}
テキストを描くメソッド
( )内の数値は視点となる場所のx,y座標を表しています
htmlファイル
Hello.html
< html>
< body>
< applet code=Hello.class width=300 height=100>
< /applet>
< /body>
< /html>
code=クラス名 width=幅 height=高さ を表す
幅、高さはAppletとして使用する領域を表す
実行してみる
シンボリックリンク
cd ~/public_html
Public_htmlフォルダからAppletフォルダ
の中を見ることができる
(ショートカットのようなもの)
ln -s ~/Java/Applet .
シンボリックリンクを行うとIEから実行結果を見ることができる
http://www.cs.dm.u-tokai.ac.jp/~自分のID/Applet/Hello.html
ただしファイルの修正を行った場合は開きなおさなければならない
実行してみる
アプレットビューアを使って実行する
手順
1: JDKもしくはコマンドプロンプトを開く。
2: Y:
3: cd Java/Applet
4: appletviewer Hello.html
自分が割り当てているドライブ
実行画面
こんな感じです。
演習
次のような表示をするアプレット
Hello2.java を書け。
コピーしたファイルを完成させてください。
サブクラスとスーパークラス
クラスは他のクラスを継承することで継承したクラス内で使用されているメソッドを
使用することができるようになります。
また、使われているメソッドの内容を変更することもできます。(オーバーライド)
スーパークラス
class A {
void hello(){
System.out.println("Hello");
}
void bye(){
System.out.println("Bye");
}
}
サブクラス
class B extends A {
void hello(){
System.out.println("こんちわ");
}
}
class Bにclass Aで定義されているメソッドが継承されます。
class Bで、hello( )の内容が書き換えられています。(オーバーライドしている)
class Bではbye( )についての記述は書かれていませんが、継承はされています。
mainメソッド
class Aisatu{
public static void main(String args[ ]) {
B ai = new B( );
ai.hello( );
ai.bye( );
}
}
class Bを呼び出しています(宣言している)
Graphicsクラス
Graphicsクラスでは描画を行うためのメソッドが多数用
意されています。
例
drawString(String str, int x, int y);テキストを描く
drawLine(int x1, int y1, int x2, int y2) ;2点間に線を描く
drawOval(int x, int y, int width, int height);楕円の輪郭を描く
fillOval(int x, int y, int width, int height);楕円を塗りつぶしで描く
などなど
演習
次のパックマンを描く Pac.java を書け。
色の指定にはg.setColor(Color c);
パックマンの描画には
g.fillArc(int x, int y, int width, int height, int startAngle, int arcAngle);
を使用します。
import java.awt.Graphics; → import java.awt.*;に変更
setColorメソッドは、引数にColorクラスのオブジェクトが使われるので
import java.awt.Color; を宣言しなければならない。
import java.awt.*; にすることでまとめて宣言している。
データの引き渡し
アプレットには,htmlファイルの中で指定する方法と,実行中に直接
キーボードなどのイベントを経由して入力する方法の2種類があります。
今回はhtmlファイルの中で指定する方法をやってみます。
使用するメソッド
getParameter(String name);
(HTML タグ内の指定されたパラメータの値を返します。)
Hello3.html
<html>
<applet code="Hello3.class" width=300 height=300>
<param name="text" value="Chao">
</applet>
</html>
getParameterメソッドでここを指定する
ここが値になります
Hello3.java
import java.awt.Graphics;
import java.applet.Applet;
public class Hello3 extends Applet{
public void paint(Graphics g){
String a = getParameter("text");
g.drawString("Hello",100,20);
g.drawString(a,100,80);
}
}
変数aに”text”の値”Chao”を返してい
る