import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.awt.image.*; class tee{ Graphics g; int pikkus, laius, x_koordinaat, y_koordinaat, vahe, juppideArv; /*konstruktor u_ muutujate ees tähendab uut, kui samu asju omistasin, siis ei *töödanud :)*/ public tee(Graphics u_g, int u_x_koordinaat, int u_y_koordinaat, int u_laius, int u_pikkus, int u_vahe, int u_juppideArv ){ g=u_g; x_koordinaat=u_x_koordinaat; y_koordinaat=u_y_koordinaat; laius=u_laius; pikkus=u_pikkus; vahe=u_vahe; juppideArv=u_juppideArv; } /*joonistab musta ruudu, muutuja juppide vahe on selle jaoks, et joonistada ristkülikui erinevatele kõrgustele(mööda y-telge), mida suurem juppideVahe on, seda madalamale tuleb ristkylik */ public void valgeRuut(int juppideVahe){ //joonistab valge ristkyliku g.setColor(Color.white); g.fillRect(x_koordinaat,y_koordinaat+juppideVahe,laius,pikkus); } public void mustRuut(int juppideVahe){ //joonistab musta ristkyliku g.setColor(Color.black); g.fillRect(x_koordinaat, y_koordinaat+juppideVahe, laius, 1); // } /*funktsioon tee liigutamiseks ja joonistamiseks, kutsub välja mustaRuut-u *ja valgetRuutu-u andes neile erineva suurusega juppideVahe, mustRuut, pikkusega *1 hakkab valget ruutu ülevalt üle joonistama, valge ruut kasvab muudkui pikkuses, *kuna ta alla poole kasvab ja ülevalt teda mustaga üle joonistatakse jääb mulje, *nagu ta liiguks*/ public void liiguta(int mituKorda){ int tp=pikkus+vahe; //tp = tsyklipikkus int juppideVahe=0; for(int mk=0;mk=vahe){ g.setColor(Color.white); g.fillRect(x_koordinaat,y_koordinaat, laius,0+(i2-vahe)); } for(int i=0;i<(juppideArv-1);i++){ //esimese ja viimase vahele jäävad teejupid valgeRuut(juppideVahe+i2); mustRuut(juppideVahe+i2); juppideVahe+=tp; } g.setColor(Color.white); g.fillRect(x_koordinaat,y_koordinaat+(juppideArv-1)*tp+i2, laius, pikkus-i2); mustRuut(((juppideArv-1)*tp)+i2); } } } } public class animatsioon3 extends Applet implements ActionListener{ Button nupp=new Button("käivita"); TextField tf_laius=new TextField("10",3); TextField tf_pikkus=new TextField("40",3); TextField tf_vahe=new TextField("20", 3); TextField tf_juppide_arv=new TextField("4", 3); TextField tf_mitu_korda=new TextField("5", 3); BufferedImage pilt = new BufferedImage(600,600, BufferedImage.TYPE_INT_RGB); Graphics2D piltg; public void paint(Graphics text){ text.drawString("LAIUS", 100,620); text.drawString("PIKKUS", 200,620); text.drawString("VAHE", 300,620); text.drawString("ARV", 400,620); text.drawString("MITU KORDA",500,620); } public animatsioon3(){ piltg=pilt.createGraphics(); Panel p=new Panel(new GridLayout(1, 6)); p.add(nupp); p.add(tf_laius); p.add(tf_pikkus); p.add(tf_vahe); p.add(tf_juppide_arv); p.add(tf_mitu_korda); setLayout(new BorderLayout()); add(p, BorderLayout.SOUTH); nupp.addActionListener(this); } public void actionPerformed(ActionEvent e){ Graphics g=getGraphics(); g.drawImage(pilt, 0,0, this); tee autoTee=new tee(g, 300, 60, Integer.parseInt(tf_laius.getText()), Integer.parseInt(tf_pikkus.getText()) , Integer.parseInt(tf_vahe.getText()) , Integer.parseInt(tf_juppide_arv.getText())); autoTee.liiguta(Integer.parseInt(tf_mitu_korda.getText())); } public static void main(String[] argumendid){ Frame f=new Frame(); f.setSize(600,680); f.add(new animatsioon3()); f.setVisible(true); } }