Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Animation implements Runnable
- {
- private javax.swing.JFrame Fr;
- private int R;
- private int X, Y;
- public Animation(javax.swing.JFrame Fr_, int R_, int x_, int y_)
- {
- Fr = Fr_;
- R = R_;
- X = x_;
- Y = y_;
- }
- @Override
- public void run() {
- Graphics g = Fr.getGraphics();
- Polygon trianglePol = new Polygon(new int[] {150,150,(150-10*(R/2))}, new int[] {150-10*R, 150,150}, 3);
- try
- {
- for(int i=10*R/8; i > 1; i--)
- {
- sleep(40);
- paintR(g,R);
- g.setColor(Color.GREEN);
- g.drawOval(X-i/2, Y-i/2, i, i);
- }
- }
- catch(InterruptedException e){
- }
- }
- public void paintR(Graphics g, int R)
- {
- paintFieldXY(g);
- if(R !=0)
- {
- g.setColor(Color.black);
- g.drawLine(145,150+10*R,155,150+10*R);
- g.drawString("-R", 145-15, 150+10*R+10);
- g.drawLine(145,150-10*(R/2),155,150-10*(R/2));
- g.drawString("R", 145+15, 150-10*(R/2)-4);
- g.drawLine(150+10*R,145,150+10*R,155);
- g.drawString("R", 150+10*R, 170);
- g.drawLine(150-10*R,145,150-10*R,155);
- g.drawString("-R", 150-10*R-8, 145);
- g.setColor(Color.YELLOW);
- Polygon trianglePol = new Polygon(new int[] {150,150,(150+10*(R/2))}, new int[] {150+10*R, 150,150}, 3);
- g.drawPolygon(trianglePol);
- g.drawRect(150, 150-5*R, R*10, R*5);
- g.drawArc(150-R*10,150-R*10,R*20,R*20,180,90);
- g.setColor(Color.BLACK);
- g.fillPolygon(trianglePol);
- g.fillRect(150, 150-5*R, R*10, R*5);
- g.fillArc(150-R*10,150-R*10,R*20,R*20,180,90);
- }
- else
- {
- g.drawString("R", 153, 165);
- }
- }
- public void paintFieldXY(Graphics g)
- {
- g.clearRect(1, 1, 300, 300);
- g.setColor(Color.black);
- //Отрисовываем координатную плоскость
- final int OX_X_1 = 40;
- final int OX_X_2 = 270;
- final int OX_Y = 150;
- final int OY_X = 150;
- final int OY_Y_1 = 60;
- final int OY_Y_2 = 250;
- g.drawLine(OY_X, OY_Y_1, OY_X, OY_Y_2); //ось OY
- g.drawLine(OX_X_1, OX_Y, OX_X_2, OX_Y); //ось OX
- g.drawString("Y", OY_X+5, OY_Y_1+5); //подписываем оси
- g.drawString("X", OX_X_2-5, OX_Y-5);
- g.drawLine(OY_X, OY_Y_1, OY_X+2, OY_Y_1+6);
- g.drawLine(OY_X, OY_Y_1, OY_X-2, OY_Y_1+6);
- g.drawLine(OX_X_2, OX_Y, OX_X_2-6, OX_Y-2);
- g.drawLine(OX_X_2, OX_Y, OX_X_2-6, OX_Y+2);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement