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”を返してい る
© Copyright 2024 ExpyDoc