Advertisement
daniv1

Untitled

Apr 22nd, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.82 KB | None | 0 0
  1. import java.awt.Color;
  2. import java.awt.*;
  3. import java.awt.Graphics;
  4. import javax.swing.JFrame;
  5. import javax.swing.JPanel;
  6.  
  7. public class Animation {
  8.  
  9.     JFrame frame;            
  10.     Figura figura;
  11.  
  12.     private int oneX = 100;
  13.     private int oneY = 100;
  14.  
  15.     private int dY = 5;
  16.    
  17.     public static void main(String[] args)
  18.     {
  19.         new Animation().go();
  20.     }
  21.  
  22.     private void go()
  23.     {
  24.         frame = new JFrame("Test");
  25.         figura = new Figura();
  26.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  27.         frame.setResizable(false);
  28.         frame.setSize(1900, 1000);
  29.         frame.add(figura);
  30.         frame.setVisible(true);
  31.         moveIt();
  32.         //тут можна викликати новий метод, а попередній закоментувати
  33.     }
  34.  
  35.     class Figura extends JPanel
  36.     {    
  37.         public void paintComponent(Graphics g)
  38.         {
  39.        
  40.             int xPoints[] = { oneX , oneX + 25 ,  oneX +50 ,  oneX + 75 , oneX +100 , oneX+ 75 , oneX + 25 };
  41.            
  42.             int yPoints[] = { oneY ,oneY -25 , oneY , oneY - 25 , oneY  , oneY + 50 ,oneY + 50 };
  43.             g.setColor(Color.BLACK);
  44.             g.fillPolygon(xPoints, yPoints, xPoints.length);
  45.         }
  46.     }
  47.  
  48.     private void moveIt()
  49.     {
  50.         while (true)
  51.         {
  52.             oneY = oneY + dY;
  53.            
  54.            
  55.             //TODO change magical number
  56.             if (oneY + dY < 0 || oneY + dY > 800) {
  57.                 dY = -dY;
  58.             }
  59.             try
  60.             {
  61.                 Thread.sleep(5);
  62.             }
  63.             catch (Exception e)
  64.             {
  65.                 e.printStackTrace();
  66.             }
  67.             frame.repaint();
  68.         }
  69.     }
  70.    
  71.     //тут можна дописати новий метод
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement