Java’da Timer ve Point Uygulamasi
- Sevdanur GENC

- Nov 4, 2011
- 1 min read
Bu uygulamamiz da ; JFrame icerisinde ekledigimiz bir adet JLabel’in koordinatlarini hesaplattirarak Timer nesnesi ile form uzerinde saga ve sola dogru gezinmesini saglayacagiz. Her nesnenin bir koordinati oldugu gibi JLabel’inda koordinatlari bulunmaktadir. Ilk koordinat JLabel ile formun solundan itibaren ne kadar oldugu ki bunu X olarak ifade edecegiz. Ikinci koordinatimiz da JLabel’imizin formun uzeerinden ne kadar uzakta oldugudur ki bunu da Y olarak ifade edecegiz. JLabel nesnesinin bir de genisligi vardir ki bunu da JLabel’ in Width ozelligi ile ifade ediyoruz.
Uygulamamizda; x sifir olana kadar azaltmamiz gerekir. X + Label genisligi frame’in genisligi olana kadar arttirmamiz gerekiyor. X ve Y koordinatlarini tutmak istiyorsak point sinifinin ozelliklerini kullanmak zorundayiz. Point sinifinda ki koordinatlari kullanarak kendi koordinatlarimizin bilgilerini bu sinif icerisinde tutabiliriz. Timer her seferinde calisiyor olacak ve x>0 sa x koordinatlarini bir azaltarak yeni koordinatlarini atayacaktir. Ve x=0 oldugunda ise durumunu true yapacaktir.
Kaynak Kodlar ;
import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; public class ornek01 extends javax.swing.JFrame { Timer zaman = new Timer(10,new TimerListener()); int x,y,genislik; boolean oldu = false; class TimerListener implements ActionListener{ public void actionPerformed(ActionEvent e){ if (x>0 && oldu == false) { x--; jLabel1.setLocation(x,y); if(x==0) oldu = true; } if (oldu == true && (jLabel1.getWidth()+x)<genislik) { x++; jLabel1.setLocation(x,y); if(jLabel1.getWidth()+x==genislik) oldu = false; } } } public ornek01() { initComponents(); Point pt = jLabel1.getLocation(); x = (int) pt.getX(); y = (int) pt.getY(); genislik = this.getWidth(); }}
Comments