コマンドプロンプトから起動していたプログラムをアプリケーション(application)と呼ぶのに対して、Webブラウザ上で動くプログラムをアプレット(applet)と呼ぶ。
アプレットはWebサーバからダウンロードされてWebブラウザ上で実行されるのに対して、
Webサーバ上で実行されるプログラムはサーブレット(servlet)と呼ばれる。
アプレットではセキュリティーの観点から、ユーザマシン上のファイル操作ができない等、アプリケーションよりも処理が制限されている。
(Webブラウザ上でアプレットを動かすための準備はこちら、このページのサンプルアプレットの実行には、認証ダイアログに対して、
このJavaWeb資料と同様の、ユーザ名:java、パスワード:javajava を入力する)
import java.applet.Applet;
class クラス名 extends Applet
{
}
// 「ようこそJavaアプレットへ!」と表示する
import java.applet.Applet;
import java.awt.Graphics;
public class Sample1 extends Applet
{
public void paint(Graphics g)
{
g.drawString("ようこそJavaアプレットへ!", 50, 50 );
}
}
// end of Sample1.java
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>title</title>
</head>
<body>
<applet code="クラスファイル名" width="幅" height="高さ">
</applet>
</body>
</html>
例:Sample1.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Sample1</title> </head> <body style="background-color: lightblue;"> <applet code="Sample1.class" width="400" height="300"> </applet> </body> </html>
メソッド名 | 機能 |
void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) |
円弧を描く 塗りつぶされた... |
Boolean drawImage(Image img, int x, int y, ImageObserver observer) | イメージを描く |
void drawLine(int x1, int y1, int x2, int y2) | 線分を描く |
void drawOval(int x, int y, int width, int height) void fillOval(int x, int y, int width, int height) |
楕円を描く 塗りつぶされた... |
void drawPolygon(int[] xPoints, int[] yPoints, int nPoints) void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) |
多角形を描く 塗りつぶされた... |
void drawRect(int x, int y, int width, int height) void fillRect(int x, int y, int width, int height) |
長方形を描く 塗りつぶされた... |
void drawString(String str, int x, int y) | 文字列を描く |
void setColor(Color c) | 色を設定する |
void setFont(Font font) | フォントを設定する |
// 画像(ファイル)を表示する
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
public class Sample3 extends Applet
{
Image img;
public void init()
{
img = getImage(getDocumentBase(), "Image.gif");
}
public void paint(Graphics g)
{
g.drawImage(img, 50, 50, this);
}
}
// end of Sample3.java
メソッド名 | 呼び出されるタイミング |
init() | Webブラウザが起動され、アプレットが初期化されるとき |
start() | Webブラウザの起動、再読み込みによって、アプレットが開始・再開されるとき |
stop() | 他のWebページに移動して、アプレットを停止するとき |
destroy() | Webブラウザが終了し、アプレットが終了するとき |
MouseListenerインターフェイス addMouseListener()で準備 | |
メソッド | イベント |
mouseClicked() | マウスをクリックしたとき |
mouseEntered() | マウスがアプレット上に入ったとき |
mouseExited() | マウスがアプレットから出たとき |
mousePressed() | マウスのボタンを押したとき |
mouseReleased() | マウスのボタンを放したとき |
![]() | |
MouseMotionListenerインターフェイス addMouseMotionListener()で準備 | |
メソッド | イベント |
mouseDragged() | マウスをドラッグしたとき |
mouseMoved() | マウスを動かしたとき |
// マウスに反応させる
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
public class Sample4 extends Applet implements MouseListener
// MouseListenerインターフェイスを実装
{
int x = 200, y = 150;
public void init()
{ // イベントを受け取る準備
addMouseListener(this);
}
public void mouseClicked(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mousePressed(MouseEvent e)
{
x = e.getX();
y = e.getY();
}
public void mouseReleased(MouseEvent e)
{
repaint();
}
public void paint(Graphics g)
{
g.fillOval(x-10, y-10, 20, 20);
}
}
// end of Sample4.java
public void init()
{
addMouseListener(new SubMouseAdapter());
}
class SubMouseAdapter extends MouseAdapter
{
public void mousePressed(MouseEvent e)
{
・・・
}
・・・
}
// マウスに反応させる
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Sample5 extends Applet
{
int x = 200, y = 150;
public void init()
{ // イベントを受け取る準備
addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
x = e.getX();
y = e.getY();
}
public void mouseReleased(MouseEvent e)
{
repaint();
}
});
}
public void paint(Graphics g)
{
g.fillOval(x-10, y-10, 20, 20);
}
}
// end of Sample5.java
// 1fpsのアニメーション
import java.applet.Applet;
import java.awt.Graphics;
public class Sample7 extends Applet implements Runnable
// Runnableインターフェイスを実装
{
int num, x = 200, y = 150;
public void init()
{
Thread th = new Thread(this);
th.start();
}
public void run()
{
try
{
for(int i = 0; i < 20; i++ )
{
num = i;
x+=2;
y+=1;
repaint();
Thread.sleep(1000);
}
}
catch(InterruptedException e){}
}
public void paint(Graphics g)
{
String str = num + "です";
g.drawString(str, 10, 10);
g.fillOval(x, y, 10, 10);
}
}
// end of Sample7.java