/** PIIRROSALGORITMIANIMAATIO JATKO **/ import java.awt.*; public class NelioAn3 extends javax.swing.JApplet implements Runnable { int sisennys; // Sisennys appletin reunasata int rectWidth, rectHeight; // Suorakaiteen leveys ja korkeus boolean tyhjenna; Thread runner; public void init() { uusiKierros(); } // end init public void paint(Graphics g) { if (tyhjenna) { g.setColor(Color.red); g.fillRect(0,0,300,160); // Täytä koko appletti punaisella. tyhjenna = false; } g.setColor(Color.black); // Piirrä mustalla g.drawRect(sisennys, sisennys, rectWidth, rectHeight); sisennys += 15; // Lisää sisennystä. rectWidth -= 30; // Vähennä leveyttä molemmista reunoista rectHeight -= 30; // Vähennä korkeutta if (rectWidth < 0 || rectHeight < 0) uusiKierros(); } // end paint() void pause(int kesto) { try { Thread.sleep(kesto); } catch (InterruptedException e) { } } // end kesto() public void start() { if (runner == null) { runner = new Thread(this); runner.start(); } } // end start() public void stop() { if (runner != null) { runner = null; } } // end stop() void uusiKierros() { tyhjenna = true; sisennys = 0; rectWidth = 299; // Ensimmäisen koko rectHeight = 159; } public void run() { Thread thisThread = Thread.currentThread(); while (runner == thisThread) { pause(175); repaint(); } // end while ... } // end run } // end class NelioAn3