import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; public class AnimoiKuvia extends JApplet implements Runnable { Image kuva; JPanel KuvaPaneeli; Thread ajuri=null; int leveys, x, appletinLeveys; public void init() { MediaTracker mt = new MediaTracker(this); kuva = getImage(getCodeBase(), "emacs.jpg"); mt.addImage(kuva, 1); try { mt.waitForID(1); } catch (InterruptedException e) {} KuvaPaneeli paneeli = new KuvaPaneeli(); getContentPane().add(paneeli); leveys = kuva.getWidth(this); appletinLeveys = getWidth(); x = appletinLeveys; } public void start() { if (ajuri==null) ajuri = new Thread(this); ajuri.start(); showStatus("Lopeta klikkaamalla hiirtä"); } public void stop() { ajuri.interrupt(); ajuri = null; showStatus("Aloita klikkaamalla hiirtä"); } public void run() { try { while (!Thread.interrupted()) { repaint(); if (x+leveys >= 0) x-=3; else x = appletinLeveys; Thread.sleep(100); } } catch (InterruptedException ie) {} } class KuvaPaneeli extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(kuva, x, 0, this); } } }