Online Pharmacy - Save 50-90%. Cialis Fiche
Transcription
Online Pharmacy - Save 50-90%. Cialis Fiche
BallGoTitre Bu class'tan önce BallGo öğrenilmesi tavsiye edilir. 1. package com.tigrek; 2. 3. import java.awt.*; 4. import javax.swing.*; 5. import java.util.*; 6. 7. public class BallGoTitre extends JApplet implements Runnable{ 8. Image img; 9. int w; 10. int h; 11. int k=1; 12. int LocX,LocY; 13. Thread t; 14. Graphics depoGraphics; 15. Image arka; 16. Image small; 17. Image img1; 18. public void init() 19. { 20. w=400; 21. h=400; 22. arka=createImage(w,h); 23. depoGraphics=arka.getGraphics(); 24. setSize(w,h); 25. LocX=20; 26. LocY=30; 27. img=getImage(getCodeBase(),"top.jpeg"); 28. t=new Thread(this); 29. t.start(); 30. // img1 = img.getScaledInstance(30,30, Image.SCALE_SMOOTH); 31. } 32. public void paint(Graphics m) 33. { 34. depoGraphics.setColor(Color.white); 35. depoGraphics.fillRect(0,0,w,h); 36. depoGraphics.setColor(Color.RED); 37. //m.fillOval(LocX,LocY,10,10); 38. depoGraphics.drawImage(img,LocX, LocY, this); 39. //depoGraphics.drawImage(img1,100, 100, this); 40. m.drawImage(arka,0, 0, this); 41. } 42. 43. @Override 44. public void run() { 45. int d=3; 46. try{ 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. while(true){ LocX++; LocY=LocY+d*k; if(LocY>h) { k=k*(-1); } repaint(); Thread.sleep(100); } } catch(Exception e) { } } } Program dikkatle incelenirse. Değişiklik olan kısımlar fazla değil. Hatırlarsanız, titreme var demiştik. Titremeye karşı çözüm arka planda çizim yapıp ekrana birden koymak Bunun için önce Image ve Graphics diye iki değişken tanımlanır: Burada arka diye ekran büyüklüğünde bir resim oluşturuyoruz. arka isimli bu resmin çizim alanı Graphics diye bir object olacaktır. Onu da depoGraphics diye bir değişken ile kullanacağız. top resmini alıp değişken olarak oluşturmayı denemiştik: Çizim kısmına gelince. Yapılan herşey arka plandaki depoGraphics alanına çizilir. Çizilen herşey arka denen objecti oluşturmuş olur. Sonra oluşan object drawImage ile esas çizdiğimiz ekrana koyulur. Deneyiniz ve titreşimin bittiğini gözleyiniz. Resim büyük olduğu için küçültmeyi deneyelim: Yeni bir Image object, img1 paint kısmında comment kaldırılınca diğer resim de ekrana çıkar. Neden hareket etmez?