Advertisement
daniv1

Untitled

May 20th, 2018
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.96 KB | None | 0 0
  1. import java.awt.BasicStroke;
  2. import java.awt.Color;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.Shape;
  6. import java.awt.event.WindowAdapter;
  7. import java.awt.event.WindowEvent;
  8. import java.awt.geom.Line2D;
  9. import java.awt.geom.Rectangle2D;
  10. import java.awt.*;
  11.  
  12. import javax.swing.JFrame;
  13. import javax.swing.JPanel;
  14.  
  15.  
  16. public class Animation {
  17.  
  18.     JFrame frame;            
  19.     Figura figura;
  20.  
  21.     private int oneX = 100;
  22.     private int oneY = 100;
  23.  
  24.     private int dX = 4;
  25.     private int dY = 4;
  26.  
  27.     public static void main(String[] args)
  28.     {
  29.         new Animation().go();
  30.     }
  31.  
  32.     void go()
  33.     {
  34.         frame = new JFrame("Test");
  35.         frame.addWindowListener(
  36.                   new WindowAdapter(){
  37.                       public void windowClosing(WindowEvent we){
  38.                       System.exit(0);
  39.                      }
  40.                     }
  41.                   );
  42.         figura = new Figura();
  43.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  44.        
  45.         //frame.setResizable(false);
  46.         frame.setSize(1920, 1080);
  47.         frame.add(figura);
  48.         frame.setVisible(true);
  49.         moveIt2(); //- створений мною метод
  50.        // moveIt_1();
  51.        //moveIt();
  52.         //тут можна викликати новий метод, а попередній закоментувати
  53.     }
  54.  
  55.     class Figura extends JPanel
  56.     {    
  57.         public Polygon poly;
  58.         public Polygon poly1;
  59.         public void paintComponent(Graphics g)
  60.         {
  61.             super.paintComponent(g);
  62.             Graphics2D graph = (Graphics2D)g;
  63.              graph.setStroke(new BasicStroke(1.0f));
  64.        
  65.              int xPoly[] = {oneX ,oneX + 50, oneX+100, oneX+ 100 , oneX + 50 , oneX};
  66.              int yPoly[] = {oneY , oneY+25 , oneY ,oneY +100 , oneY + 125  , oneY  +100};
  67.          
  68.         //  Shape square1 = new Rectangle2D.Double(oneX, oneY,200,200);
  69.             //Shape square2 = new Rectangle2D.Double(oneX, oneY,100,100);
  70.             poly = new Polygon(xPoly, yPoly, xPoly.length);
  71.            
  72.             graph.setColor(Color.green);
  73.             graph.fillPolygon(poly);
  74.  
  75.         }
  76.     }
  77.     private void moveIt_1()
  78.     {
  79.         while (true)
  80.         {
  81.             oneX = oneX + dX;
  82.          
  83.            
  84.             //TODO change magical number
  85.             if (oneX + dX < 0 || oneX + dX > 1700) {
  86.                 oneX = 0;
  87.                 dX = 0;
  88.             }
  89.            if (dX == 0) {
  90.                
  91.                 oneY = oneY + dY;
  92.             }
  93.             try
  94.             {
  95.                 Thread.sleep(1);
  96.             }
  97.             catch (Exception e)
  98.             {
  99.                 e.printStackTrace();
  100.             }
  101.             frame.repaint();
  102.         }
  103.     }
  104.  
  105.     private void moveIt2()
  106.     {
  107.         while (true)
  108.         {
  109.             oneX = oneX + dX;
  110.            //oneY = oneY + dY;
  111.            
  112.             //TODO change magical number
  113.             if (oneX + dX < 0 || oneX + dX > 1400) {
  114.                 dX = -dX;
  115.             }
  116.             //if (oneY + dY < 0 || oneY + dY > 1000) {
  117.               //  dY = -dY;
  118.             //}
  119.             try
  120.             {
  121.                 Thread.sleep(5);
  122.             }
  123.             catch (Exception e)
  124.             {
  125.                 e.printStackTrace();
  126.             }
  127.             frame.repaint();
  128.         }
  129.     }
  130.     private void moveIt()
  131.     {
  132.         while (true)
  133.         {
  134.             oneX = oneX + dX;
  135.             oneY = oneY + dY;
  136.            
  137.             //TODO change magical number
  138.             if (oneX + dX < 0 || oneX + dX > 280) {
  139.                 dX = -dX;
  140.             }
  141.             if (oneY + dY < 0 || oneY + dY > 260) {
  142.                 dY = -dY;
  143.             }
  144.             try
  145.             {
  146.                 Thread.sleep(10);
  147.             }
  148.             catch (Exception e)
  149.             {
  150.                 e.printStackTrace();
  151.             }
  152.             frame.repaint();
  153.         }
  154.     }
  155.    
  156.     //тут можна дописати новий метод
  157.  
  158.  
  159.    
  160.  
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement