import java.awt.*; import java.awt.event.*; public class Liigu extends Frame implements MouseMotionListener,Runnable{ Button klahv=new Button("run"); // pea, jalad ,kaed: int samm1=3; int samm=3; int ringx=50; int ringy=50; int r=40; int selgy1=ringy+r; int selgx=ringx+r/2; int selgy2=selgy1+100; int vahe=30; int x1=selgx-vahe; int y1=selgy2+vahe; int x2=selgx; int y2=selgy2; int x3=selgx+vahe; int y3=y1; int[] jalgx={x1,x2,x3}; int[] jalgy={y1, y2,y3}; int dkasijalg=70; int kx1=x1; int ky1=y1-dkasijalg; int kx2=x2; int ky2=y2-dkasijalg; int kx3=x3; int ky3=y3-dkasijalg; int[] kasix={kx1,kx2,kx3}; int[] kasiy={ky1,ky2,ky3}; int rectx=ringx-40; int recty=ringy-10; int rectw=x2+30; int recth=y1+30 ; //____________________________ konstrueerime raami___________________ public Liigu(){ setLayout(new FlowLayout() ); klahv.addMouseListener(new Liigukuular(klahv, this) ); this.add(klahv); setSize(450, 450); setVisible(true); addMouseMotionListener(this); } // konstr lopp //_____________________________ //______________________________ void omista(int ringx,int x1,int x2,int x3,int y1,int y2,int y3){ ringx=ringx; samm=3; ringy=50; r=40; selgy1=ringy+r; selgx=ringx+r/2; selgy2=selgy1+100; // vahe=30; /* x1=x1; y1=y1; x2=x2; y2=y2; x3=x3; y3=y3;*/ System.out.println("Omista:"+x1+" "+x2); jalgx[0]=x1; jalgx[1]=x2; jalgx[2]=x3; jalgx[0]=x1; jalgx[1]=x2; jalgx[2]=x3; dkasijalg=70; kx1=x1; int ky1=y1-dkasijalg; kx2=x2; int ky2=y2-dkasijalg; kx3=x3; int ky3=y3-dkasijalg; kasix[0]=kx1; kasix[1]=kx2; kasix[2]=kx3; kasiy[0]=ky1; kasiy[1]=ky2; kasiy[2]=ky3; joonistajukut(getGraphics()); } // omista lopp //_____________________________ void liigu() { ringx= ringx+samm; if(ringx>getWidth()-20) samm=-Math.abs(samm); if(ringx<50)samm=Math.abs(samm); //________________ vahe=vahe+samm1; System.out.println("Vahe="+vahe+" samm1= "+samm1); if(vahe>50) samm1=-Math.abs(samm1); if(vahe<-50)samm1=Math.abs(samm1); x1=selgx-vahe /*30*/; y1=selgy2+vahe; x2=selgx; y2=selgy2; x3=selgx+vahe; y3=y1; //________________ omista(ringx,x1,x2,x3,y1,y2,y3); // joonistajukut( getGraphics()); }// liigu lopp //______________________________ void joonistajukut(Graphics g){ g.setColor(Color.black); g.drawOval(ringx,ringy, r,r); g.drawLine(selgx, selgy1, selgx, selgy2); System.out.println(jalgx[0]+" "+jalgx[1]+" "+jalgx[2]); g.drawPolyline(jalgx, jalgy, 3); g.drawPolyline(kasix,kasiy, 3); g.setColor(Color.white); g.fillRect(ringx-30,10,getWidth(),getHeight()); } // joonistajukut lopp //________________________________ public void paint(Graphics g){ joonistajukut(g); } // paint lopp public void mouseMoved(MouseEvent e){} public void mouseDragged(MouseEvent e){} //____________________________________________ public void run(){ while(true){ liigu(); try{ Thread.sleep(50); } catch (Exception e) {} } // while lopp } // run lopp //_____________________________________________ public static void main(String argumendid[]){ Liigu juku=new Liigu(); } // main lopp //____________________________________________- } // Liigu lopp //==================Liigukuular================================================== class Liigukuular extends MouseAdapter{ Button klahv; Liigu liigu; public Liigukuular(Button klahv, Liigu peremees){ this.klahv=klahv; this.liigu= peremees; } public void mousePressed(MouseEvent e){ (new Thread(liigu) ).start(); klahv.setSize(50,50); klahv.setLabel("running"); } public void mouseReleased(MouseEvent e){} } // Liigukuular adapteri lopp //==========================================================================