Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. package animacje;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Dimension;
  5. import java.awt.Graphics;
  6. import java.awt.Graphics2D;
  7. import java.awt.RenderingHints;
  8. import java.util.Random;
  9. import javax.swing.JLabel;
  10. import javax.swing.JPanel;
  11.  
  12. public class Animacja extends JPanel implements Runnable
  13. {
  14. private static Random random = new Random();
  15. int cos = 0;
  16. private int pauza;
  17. private int kat=0;
  18. private Thread watek;
  19. private boolean stop = true;
  20. private int priorytet;
  21. private static Color[] tablica_kolorow = {Color.WHITE, Color.BLUE, Color.CYAN, Color.ORANGE, Color.RED, Color.GREEN};
  22. private static Color nowyKolor(){return tablica_kolorow[random.nextInt(tablica_kolorow.length)];}
  23. private Color Kolorki = nowyKolor();
  24. private int zmienna =0;
  25. private int liczba=0;
  26. JLabel poka;
  27. public Animacja(int priorytet,int pauza)
  28. {
  29. setPreferredSize(new Dimension(200,200));
  30. setBackground(Color.WHITE);
  31.  
  32.  
  33. this.pauza=pauza;
  34. watek = new Thread(this);
  35. if(priorytet==1){
  36. watek.setPriority(Thread.MIN_PRIORITY);
  37. stop = true;
  38. watek.start();
  39. }
  40. if(priorytet==2){
  41. watek.setPriority(Thread.NORM_PRIORITY);
  42. stop = true;
  43. watek.start();
  44. }
  45. if(priorytet==3){
  46. watek.setPriority(Thread.MAX_PRIORITY);
  47. stop = true;
  48. watek.start();
  49. }
  50.  
  51. }
  52. public Animacja getT(){
  53. return this;
  54. }
  55.  
  56. public void zmiana_prio(int priorytet,int pp){
  57. this.pauza = pp;
  58. stop = false;
  59. watek = new Thread(this);
  60. if(priorytet==1){
  61. watek.setPriority(Thread.MIN_PRIORITY);
  62. stop = true;
  63. watek.start();
  64. }
  65. if(priorytet==2){
  66. watek.setPriority(Thread.NORM_PRIORITY);
  67. stop = true;
  68. watek.start();
  69. }
  70. if(priorytet==3){
  71. watek.setPriority(Thread.MAX_PRIORITY);
  72. stop = true;
  73. watek.start();
  74. }
  75.  
  76.  
  77. }
  78. public void stop(){
  79. this.stop = false;
  80. }
  81.  
  82. public void run(){
  83. poka = new JLabel(" ");
  84. poka.setBounds(0, 0, 20, 20);
  85. add(poka);
  86. while(stop){
  87. Kolorki = nowyKolor();
  88. repaint();
  89. try
  90. {
  91. watek.sleep(pauza);
  92. }
  93. catch (InterruptedException e)
  94. {
  95. throw new RuntimeException(e);
  96. }
  97. }
  98. }
  99.  
  100. private void drzewo(Graphics g, int x1, int y1, double kat, int koniec) {
  101. if (koniec == 0) return;
  102. int x2 = x1 + (int) (Math.cos(Math.toRadians(kat)) * koniec * 2);
  103. int y2 = y1 + (int) (Math.sin(Math.toRadians(kat)) * koniec * 2);
  104. g.drawLine(x1, y1, x2, y2);
  105. drzewo(g, x2, y2, kat - 20, koniec + 1);
  106. drzewo(g, x2, y2, kat + 20, koniec + 1);
  107. }
  108.  
  109. public void paintComponent(Graphics gg)
  110. {
  111. super.paintComponent(gg);
  112. Graphics2D g = (Graphics2D) gg;
  113. g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  114. g.setColor(Color.BLACK);
  115. drzewo(g,160,160,kat,zmienna);
  116. kat+=2;
  117. if( kat>=360){
  118. kat=0;
  119. liczba++;
  120. poka.setText(String.valueOf(liczba));
  121. if(zmienna >-16)
  122. {
  123. zmienna = zmienna - 1;
  124. }
  125.  
  126.  
  127. }
  128.  
  129. }
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement