Simulate a "mouse over" event to toggle an imageTag(s): AWT
Use a special Canvas to preload 2 GIFs, and using a MouseListener simply toggle the image.
[JDK1.1]
import java.awt.*; import java.awt.event.*; import java.net.*; public class ToggleGifCanvas extends Canvas implements MouseListener { Image img1, img2; int index = 0; MediaTracker tracker; public ToggleGifCanvas(URL n1, URL n2) { tracker = new MediaTracker(this); try { img1 = Toolkit.getDefaultToolkit().getImage(n1); img2 = Toolkit.getDefaultToolkit().getImage(n2); tracker.addImage(img1,0); tracker.addImage(img2,1); tracker.waitForAll(); addMouseListener(this); } catch (Exception e) { e.printStackTrace(); } } public void paint(Graphics g) { if (img1 != null) { if (index == 0) { g.drawImage(img1,0,0,this); index++; } else { g.drawImage(img2,0,0,this); index--; } } } public Dimension getPreferredSize (){ return new Dimension (img1.getHeight(this), img2.getWidth(this)); } public void mouseClicked(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mouseEntered(MouseEvent e) { index = 1; repaint(); } public void mouseExited(MouseEvent e) { index = 0; repaint(); } }
import java.applet.*; import java.awt.*; import java.net.*; public class TestToogleGifCanvas extends Applet { ToggleGifCanvas tgc; public void init() { try { tgc = new ToggleGifCanvas (new URL(getDocumentBase(),"images/gumby.gif"), new URL(getDocumentBase(),"images/gumby2.gif")); add(tgc); } catch (Exception e) { e.printStackTrace(); } } }