ボタンと同じように"MouseListener"を使った例です. MouseListener はインターフェースと呼ばれるクラスで,本体を指定しない5つのメソッド(下のプログラム参照)からなります.つまり,「メソッド名と呼出し方法だけを定義」しているクラスです.インターフェースはそれ自体では使うことができず,かならず継承(extends)して使います.その際には,ここで利用する メソッド"mousePressed"以外にも,ここでは使わない4個のメソッドを,本体を空(カラ)として定義しておく必要があります.
import java.awt.*; import java.applet.Applet; import java.awt.event.*; public class Mouse0 extends Applet implements MouseListener{ //リスナーを指定 int x = 0, y = 0; public void init(){ addMouseListener(this); } public void mousePressed(MouseEvent e){ x = e.getX(); y = e.getY(); repaint(); } public void mouseReleased(MouseEvent e){ }// 使用しない (ボタンを離す) public void mouseClicked(MouseEvent e){ }// 使用しない (ボタンを押して離す) public void mouseEntered(MouseEvent e){ }// 使用しない (アプレット領域に入った) public void mouseExited(MouseEvent e){ }// 使用しない (アプレット領域から出た) public void paint(Graphics g){ g.drawString("("+ x +", "+ y +")", 10, 20); g.drawRect(x-5, y-5, 10, 10); } }
アプレット"Mouse1"で使ったクラス"MouseAdapter"は,それ自身は"MouseListener"を引き継ぎ,(必要とされるすべてのメソッドを空として定義)したものです.したがって,これを引きついだクラスでは,必要なメソッドだけをさらに上書きすればよいことになります.
26.1.9.18 マウス入力 | 26.1.9.19 アダプタ | 26.1.9.20 マウス描画 | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Thu, 02 Sep 2004 19:07:57 JST (1793d) |