Guest User

Untitled

a guest
Dec 14th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.08 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.geom.*;
  3.  
  4. /**
  5. * Kruh, ktery se sam nakresli na Platno a se kterym je mozne manipulovat.
  6. *
  7. * @author Michael Kolling
  8. * @author Lubos Pavlicek
  9. * @version 1.0 (15 July 2000)
  10. * @version 1.0cz (30 July 2004)
  11. */
  12.  
  13. public class Kruh
  14. {
  15. private int prumer;
  16. private int xPozice;
  17. private int yPozice;
  18. private String barva;
  19.  
  20. /*
  21. * Vytvoreni noveho kruhu na defaultni pozici (20,60) s defaultni barvou (modra)
  22. */
  23. public Kruh()
  24. {
  25. prumer = 30;
  26. xPozice = 20;
  27. yPozice = 60;
  28. barva = "modra";
  29. kresli();
  30. }
  31.  
  32. /**
  33. * Posune kruh o nekolik bodu (o 20) doprava.
  34. */
  35. public void posunVpravo()
  36. {
  37. posunHorizontalne(20);
  38. }
  39.  
  40. /**
  41. * Posune kruh o nekolik bodu (o 20) doleva.
  42. */
  43. public void posunVlevo()
  44. {
  45. posunHorizontalne(-20);
  46. }
  47.  
  48. /**
  49. * Posune kruh o nekolik bodu (o 20) nahoru.
  50. */
  51. public void posunNahoru()
  52. {
  53. posunVertikalne(-20);
  54. }
  55.  
  56. /**
  57. * Posune kruh o nekolik bodu (o 20) dolu.
  58. */
  59. public void posunDolu()
  60. {
  61. posunVertikalne(20);
  62. }
  63.  
  64. /**
  65. * Posune kruh horizontalne o zadanou vzdalenost. Kladna hodnota znamena posun vpravo,
  66. * zaporna hodnota posun vlevo.
  67. */
  68. public void posunHorizontalne(int vzdalenost)
  69. {
  70. vymaz();
  71. xPozice += vzdalenost;
  72. kresli();
  73. }
  74.  
  75. /**
  76. * Posune kruh vertikalne o zadanou vzdalenost. Kladna hodnota znamena posun dolu,
  77. * zaporna hodnota posun nahoru.
  78. */
  79. public void posunVertikalne(int vzdalenost)
  80. {
  81. vymaz();
  82. yPozice += vzdalenost;
  83. kresli();
  84. }
  85.  
  86. /**
  87. * Pomalu (animovane) posune kruh horizontalne o zadanou vzdalenost. Kladna hodnota znamena
  88. * posun vpravo, zaporna hodnota posun vlevo.
  89. */
  90. public void pomaluPosunHorizontalne(int vzdalenost)
  91. {
  92. int delta;
  93.  
  94. if(vzdalenost < 0)
  95. {
  96. delta = -1;
  97. vzdalenost = -vzdalenost;
  98. }
  99. else
  100. {
  101. delta = 1;
  102. }
  103.  
  104. for(int i = 0; i < vzdalenost; i++)
  105. {
  106. vymaz();
  107. xPozice += delta;
  108. kresli();
  109. }
  110. }
  111.  
  112. /**
  113. * Pomalu (animovane) posune kruh vertikalne o zadanou vzdalenost. Kladna hodnota znamena
  114. * posun dolu, zaporna hodnota posun nahoru.
  115. */
  116. public void pomaluPosunVertikalne(int vzdalenost)
  117. {
  118. int delta;
  119.  
  120. if(vzdalenost < 0)
  121. {
  122. delta = -1;
  123. vzdalenost = -vzdalenost;
  124. }
  125. else
  126. {
  127. delta = 1;
  128. }
  129.  
  130. for(int i = 0; i < vzdalenost; i++)
  131. {
  132. vymaz();
  133. yPozice += delta;
  134. kresli();
  135. }
  136. }
  137.  
  138. /**
  139. * Zmeni velikost kruhu na novy prumer zadany v poctech bodu. Velikost musi byt >= 0.
  140. * @param novyPrumer novy prumer kruhu v poctech bodu
  141. */
  142. public void zmenVelikost(int novyPrumer)
  143. {
  144. vymaz();
  145. prumer = novyPrumer;
  146. kresli();
  147. }
  148.  
  149. /**
  150. * Zmeni barvu kruhu. Pripustne hodnoty jsou:
  151. * "cervena", "cerna", "modra", "zluta", "zelena", "fialova", "ruzova", "seda"
  152. * a "bila". Pri zadani jine hodnoty se pouzije "cerna".
  153. */
  154. public void zmenBarvu(String novaBarva)
  155. {
  156. barva = novaBarva;
  157. kresli();
  158. }
  159.  
  160. /*
  161. * Nakresli kruh s aktualnimi parametry na platne.
  162. */
  163. private void kresli()
  164. {
  165. Platno platno = Platno.getPlatno();
  166. platno.setBarvaPopredi(barva);
  167. platno.vybarvi(new Ellipse2D.Double(xPozice, yPozice,
  168. prumer, prumer));
  169. platno.wait(10);
  170. }
  171.  
  172. /*
  173. * Vymaze kruh na platne.
  174. */
  175. private void vymaz()
  176. {
  177. Platno platno = Platno.getPlatno();
  178. platno.vymaz(new Ellipse2D.Double(xPozice, yPozice,
  179. prumer, prumer));
  180. }
  181. }
Add Comment
Please, Sign In to add comment