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?

Documents pareils