import java.util.*; import java.applet.Applet; import java.io.*; import java.awt.*; import java.awt.event.*; public class graafika extends Applet implements ActionListener, Runnable{ TextField tf1=new TextField("3"); double samm=0.01; double nurk=40; double raadius=30; public graafika(){ add(tf1); tf1.addActionListener(this); new Thread(this).start(); //loob lõime } public void paint(Graphics ekraan){ paint(); } public void paint(){ Graphics ekraan=this.getGraphics(); int arv=Integer.parseInt(tf1.getText()); ekraan.setColor(Color.white); ekraan.fillRect(0, 0, getSize().width, getSize().height); if((arv<1)|(arv>5)){ tf1.setText("3"); ekraan.setColor(Color.black); } samm=arv*0.01; float paksus=2; Graphics2D g=(Graphics2D)ekraan; ekraan.setColor(Color.black); ekraan.drawString("Kiirus", 2, 20); g.setStroke(new BasicStroke(paksus)); ekraan.drawLine(125, 120+(int)((raadius *Math.cos(nurk))+5), 125,190+(int)((raadius)*Math.cos(nurk))+5 );//kesktala paksus=3; g.setStroke(new BasicStroke(paksus)); ekraan.drawLine(50, 120+(int)((raadius *Math.cos(nurk))+5), 50,190+(int)((raadius)*Math.cos(nurk))+5 );//vasaktala ekraan.drawLine(200, 120+(int)((raadius *Math.cos(nurk))+5),200,190+(int)((raadius)*Math.cos(nurk))+5 );//paremtala ekraan.drawLine(50, 120+(int)((raadius *Math.cos(nurk))+5), 200, 120+(int)((raadius *Math.cos(nurk))+5)); // kiige ülemine horisontaaltala ekraan.setColor(Color.red); ekraan.drawLine(50, 126+(int)((raadius *Math.cos(nurk))+5), 200, 126+(int)((raadius *Math.cos(nurk))+5)); // kiige ülemine horisontaaltala2 ekraan.setColor(Color.black); ekraan.drawLine(50, 132+(int)((raadius *Math.cos(nurk))+5), 200, 132+(int)((raadius *Math.cos(nurk))+5)); // kiige ülemine horisontaaltala3 ekraan.drawLine(50, 176+(int)((raadius *Math.cos(nurk))+5), 200, 176+(int)((raadius *Math.cos(nurk))+5)); // kiige alumine horisontaaltala3 ekraan.setColor(Color.red); ekraan.drawLine(50, 184+(int)((raadius *Math.cos(nurk))+5), 200, 184+(int)((raadius *Math.cos(nurk))+5)); // kiige alumine horisontaaltala2 ekraan.setColor(Color.black); ekraan.drawLine(50, 190+(int)((raadius *Math.cos(nurk))+5), 200, 190+(int)((raadius *Math.cos(nurk))+5)); // kiige alumine horisontaaltala ekraan.drawLine(200, 190+(int)((raadius *Math.cos(nurk))+5),210, 150 );//parem alumine post ekraan.drawLine(200, 120+(int)((raadius *Math.cos(nurk))+5),210, 150 );//parem ülemine post ekraan.drawLine(50, 190+(int)((raadius *Math.cos(nurk))+5),40, 150 );// vasak alumine post ekraan.drawLine(50, 120+(int)((raadius *Math.cos(nurk))+5),40, 150 );//vasak ülemine post ekraan.drawLine(40, 150,210, 150 );//ülemine toru ekraan.setColor(Color.red); ekraan.drawLine(210, 150, 225, 190);//jalad ekraan.drawLine(210, 150, 225, 110); ekraan.drawLine(40, 150,25, 190 ); ekraan.drawLine(40, 150,25, 110 ); nurk=nurk+samm; System.out.println(nurk); } 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("Kiik"); raam.add(new graafika()); 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); } }