初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
イベントサンプル集
今回のイベントプログラムではアプレットの背景色をすべて白に設定しています。
それはjavaのバージョンやブラウザの環境によりデフォルトではグレーになったり白になったりしますので
ここでは、すべて白に統一させています。
もし他の色を指定したい場合は
setBackground(new Color(0, 0, 0));の数字を0〜255の間で指定してやることでいろいろな色に変更できます。2枚の画像をクリックするたびに入れ替える
今回のイベントの概要
2枚の画像をクリックするたびに入れかえます。今回使用するイベントリスナーはMouseListenerです。
addMouseListenerでイベントを受け取れるよう登録します。またMouseListenerではイベント処理メソッド
mausePerformedメソッド
mouseReleasedメソッド
mouseClickedメソッド
mouseEnteredメソッド
mouseExitedメソッド
mousePressedメソッド
をオーバーライドしなければいけません。
それはインタフェースの定義によりインタフェースを実装するにはそのインタフェース内に
宣言されているメソッドを全てオーバーライドしなければいけません。
つまりここではMouseListenerインタフェースで宣言されているメソッドを全てオーバーライドしなければいけないのです。
まずは今回使用する画像を用意したいと思います。
一応私の方で画像を用意していますのでそれを使いたい方は使ってください!
その際は必ずご自分のパソコンにダウンロードしてから使ってください。
画像が用意できたらこれから作成していくEventSample41.classとEventSample41.html
と同じ場所にiconフォルダを作成してその中に画像を保存してください。
k00.gif |
|
k01.gif |
k02.gif |
では、サンプルプログラムで確認していきます。
サンプルプログラム(EventSample41.java)
//java.appletパッケージをimport宣言 //java.awtパッケージもimport宣言 //java.awt.eventパッケージもimport宣言
import java.applet.*; import java.awt.*; import java.awt.event.*; public class EventSample41 extends Applet implements MouseListener{ //画像を格納する変数を用意します。
Image first,second,img;
//画像を入れ替えようの変数
int flag; public void init(){ //アプレットの背景色を指定 setBackground(new Color(255, 255, 255)); //最初の画像
img = getImage(getDocumentBase(),"icon/k00.gif");
//一枚目の画像
first = getImage(getDocumentBase(),"icon/k01.gif");
//2枚目の画像
second = getImage(getDocumentBase(),"icon/k02.gif");
addMouseListener(this);
} public void paint(Graphics g){
g.drawImage(img,0,0,this);
} //イベント処理メソッドをオーバーライドします。 public void mausePerformed(MouseEvent e){ } public void mouseReleased(MouseEvent e){ } public void mouseClicked(MouseEvent e){
if(flag == 0){
img=first; repaint(); flag=1;
}else{
img=second; repaint(); flag=0;
} }
public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mousePressed(MouseEvent e){} }
プログラムをコピーする場合すべて選択をクリックしてください。
HTMLの作成(EventSample41.html)
<html> <head> <title>2つの画像をクリックするたびに入れ替える</title> </head> <body>
<h3>画像をクリックしてください</h3> <applet code="EventSample41.class" width="300" height="100"></applet> </body> </html>
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
解説
今回のプログラムはマウスが何かをされたらイベントを行うプログラムです。
つまり、ここではマウスがクリックしたら画像を切り替えます。
今回使用するイベントリスナーはMouseListener です。したがってまずMouseListenerを実装します。
ActionListenerと大きな違いはActionListenerでは使用できるイベント処理メソッドは
actionPerformedメソッドでしかありませんでした。
しかしMouseListenerは複数のイベント処理メソッドがあります。
MouseListenerはインタフェースです。
インタフェースの特徴として必ず全てのメソッドをオーバーライドしなければいけないのです。
つまりここでは、イベント処理メソッドを使用しなくてもオーバーライドしなければいけません。
今回使用したメソッドはmouseClickedメソッドだけですが、全てのメソッドもオーバーライドしています。
他のメソッドは中身は何も定義していません。
実際にイベントの処理を確認しましょう
ページのトップへ戻る