import java.util.*; import java.applet.Applet; import java.io.*; import java.awt.*; import java.awt.event.*; public class s6dur extends Applet implements ActionListener, Runnable{ TextField tf1=new TextField("10"); double samm=0.01; double nurk=10; double raadius=20; public s6dur(){ add(tf1); tf1.addActionListener(this); new Thread(this).start(); //loob lõime } public void paint(Graphics g){ paint(); } public void paint(){ Graphics g=this.getGraphics(); int arv=Integer.parseInt(tf1.getText()); g.setColor(Color.white); g.fillRect(0, 0, getSize().width, getSize().height); //ala kuhu joonistati "sõdur", kaetakse valget värvi nelinurgaga , et järgmine joonitustsükkel tekitaks liikumise, mitte aga joonterägastiku if((arv<1)|(arv>100)){ tf1.setText("10"); g.setColor(Color.black); } samm=arv*0.01; g.setColor(Color.black); g.drawString("Määra tempo (1-100)", 2, 20); g.drawOval(49, 170+ (int)((raadius)*Math.cos(nurk))+5, 30, 20); //pea g.drawLine(80, 180+(int)((raadius)*Math.cos(nurk))+5, 130, 190+(int)((raadius)*Math.cos(nurk))+5); //keha g.drawLine(130, 190+(int)((raadius)*Math.cos(nurk))+5, 190, 215); // vasak jalg g.drawLine(130, 190+(int)((raadius)*Math.cos(nurk))+5, 180, 210 ); //parem jalg g.drawLine(190, 215, 188, 225); //vasak jalalaba g.drawLine(180, 210, 178, 218); // parem jalalaba g.drawLine(65, 198, 80, 195+(int)(raadius*Math.cos(nurk))-9); //parem käsivars g.drawLine(60, 198, 80, 195+(int)(raadius*Math.cos(nurk))-9); //vasak käsivars g.drawLine(60, 198, 55, 215); //vasak kyynarvars g.drawLine(63, 208, 65, 198); // parem kyynarvars g.drawLine(63, 208, 55, 208); //parem labakäsi g.drawLine(55, 215, 45, 215); //vasak labakäsi nurk=nurk+samm; } public void run(){ //(kontrollib pidevalt kas ja mida on tekstiväljale sisestatud ja joonistab pilti üle) while(true){ try{ paint(); Thread.sleep(10); //hoidumaks liigsest võbelusest pideva ülejoonistamise puhul, sest nii suurt sagedust pole lihtsalt vaja } catch(Exception e){} } } public void actionPerformed(ActionEvent e){ if(e.getSource()==tf1)paint(); } public static void main(String argumendid[]){ Frame raam=new Frame("Sõdurielu"); raam.add(new s6dur()); raam.setSize(300, 300); raam.setResizable(false); raam.setLocation(150,200); raam.setVisible(true); raam.addWindowListener(new Raamikuular()); } } class Raamikuular extends WindowAdapter{ public void windowClosing(WindowEvent e){ System.exit(0); } }