Applet 岡部 祐典 鈴木 敬幸
Javaフォルダ内で mkdir 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; public class Hello extends Applet{ public void paint(Graphics g){ g.drawString("Hello",100,20); } Appletクラスのpaintメソッドをオーバーライド(再定義) している テキストを描くメソッド ( )内の数値は視点となる場所のx,y座標を表しています
htmlファイル code=クラス名 width=幅 height=高さ を表す 幅、高さはAppletとして使用する領域を表す Hello.html < html> < body> < applet code=Hello.class width=300 height=100> < /applet> < /body> < /html> code=クラス名 width=幅 height=高さ を表す 幅、高さはAppletとして使用する領域を表す
実行してみる シンボリックリンク cd ~/public_html ln -s ~/Java/Applet . Public_htmlフォルダから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 を書け。
import java.awt.Graphics; → import java.awt.*;に変更 色の指定には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”を返している