Hem E-böcker Specialeffekter och spelutveckling i Java Appleten MouseOverTest 

Specialeffekter och spelutveckling i Java(TM) - Appleten MouseOverTest

import java.applet.*;
import java.awt.*;

public class mouseovertest extends Applet {

//Variabeln "currentimage" pekar på den bild som visas just nu.
Image currentimage;

//Variabeln "normalimage" pekar på bilden som visas när
//muspekaren är utanför appletskärmen.
Image normalimage;

//Variabeln "mouseoverimage" pekar på bilden som visas när
//muspekaren är inom appletskärmen.
Image mouseoverimage;

public void init()
{
    //Vi måste alltid ha vanan att använda spåraren.
    //Den snyggar upp appleten.
    MediaTracker tracker=new MediaTracker(this);
    normalimage=getImage(getDocumentBase(),"normal.jpg");

    //"normalimage" blir nummer ett i spårarens
    //inladdningslista.
    tracker.addImage(normalimage,0);
    mouseoverimage=getImage(getDocumentBase(),"mouseover.jpg");
    tracker.addImage(mouseoverimage,1);

    //"currentimage" sätts till "normalimage" i början.
    //Senare i paint() kommer "currentimage" att användas
    //för att rita ut bilden.
    currentimage=normalimage;

    //Slutligen så ser vi till att spåraren
    //laddar in bilderna.
    try {tracker.waitForAll();}
    catch(InterruptedException e)
    {
        System.out.println("Någonting stoppade inladdningen...");
    }
}

public void paint(Graphics g)
{
    //Rita ut den "nuvarande" bilden.
    g.drawImage(currentimage,0,0,this);
}

public boolean mouseEnter(Event e, int x, int y)
{
    //Om muspekaren går in i appleten så sätter
    //vi currentimage till "mouseoverimage" så
    //att nästa gång paint() anropas så ritas
    //mouseoverbilden ut istället för
    //normalbilden.
    currentimage=mouseoverimage;

    //Skärmen kommer inte att uppdatera sig själv
    //bara för att muspekaren gick in i
    //appletområdet.
    //Så vi måste se till att den gör det
    //med update() metoden.
    update(getGraphics());
    return true;
}

public boolean mouseExit(Event e, int x, int y)
{
    //När muspekaren går ut ur området igen
    //så återställer vi "currentimage" så att
    //den pekar på "normalimage" igen.
    currentimage=normalimage;
    update(getGraphics());
    return true;
}

}