Jackblad Selamlar,
adım adım hangi mantıkta ilerlemeni yazacağım.
Adım 1 - Buttonlar
Butonlar için IDE üzerinden ilgili yerlere dizaynı yapman gerekiyor. Bunun için JButton kullanabilirsin. Resimlerde görüldüğü üzere dizaynı yapmalısın.
Adım 2 - Asal Sayı Fonksiyonu
Bir fonksiyon oluştur. Bu fonksiyon asal sayı çıktısı vermeli. String tipli (dönüşlü) bir fonksiyon olmalı. Sonda sayısal (Integer) bir değer olacağı için Sonuc.ToString()
ile metinsel bir ifadeye çevirebilirsin. Bu fonksiyonda şuna dikkat etmen gerekecek. Bir tane global (proje bazında) değişken oluşturmalısın ve başlangıç asal sayıyı (2) yazman gerekecek.
Bunu neden yapıyoruz?
Döngüde iken bir diğer asal sayıya giderken o global değişkeni kullanarak en son hangi asal sayıdaysak onun bir tık üstündeki asal sayıya ulaşmaması yarayacak.
Adım 3 - Döngü
Butonların text (veya Caption) değerini döngü ile değiştireceksin. Butonların adları a, b, c, d, e olduğunu varsayabiliriz. Bu durumda döngüde iken;
a.Text = fonksiyon_ile_gelen_asal_sayi
b.Text = fonksiyon_ile_gelen_asal_sayi (global değişkşen bir üstü kısaca)
c.Text = fonksiyon_ile_gelen_asal_sayi (global değişkşen bir üstü kısaca)
d.Text = fonksiyon_ile_gelen_asal_sayi (global değişkşen bir üstü kısaca)
e.Text = fonksiyon_ile_gelen_asal_sayi (global değişkşen bir üstü kısaca)
global_degisken = a.Text;
Sonrasında ise bunu timer ile sürekli yapman gerekecek.
Timer nedir?
Timer, bir kod bloğunu belirlenen zaman (interval) değeri kadar tekrarlamasına yarayan bir yapı/bileşendir.
Java için örnek vermek gerekirsem;
import java.util.Timer;
import java.util.TimerTask;
public class TimerControl {
static int sayac=0;
public static void main(String[] args) {
Timer myTimer=new Timer();
TimerTask gorev =new TimerTask() {
@Override
public void run() {
System.out.println("Merhaba");
sayac++;
if(sayac==5)
myTimer.cancel();
}
};
myTimer.schedule(gorev,0,3000);
}
}
Kaynak: Kodlama Merkezi
Adım 4 - Thread
Burada Thread kullanımı ile döngüyü çalıştırman gerekecek. Timer'da kodu yazarken thread ile çağırım yapman gerekecek. Bu konu biraz kapsamlı olduğu için kaynak bırakıyorum incelersen.
Geleceği Yazanlar - Thread Kullanımı
Adım 5 - Başlangıçta Çalışması
Bunun için load, create gibi eventleri kullanabilirsin. Java'da bunların karşılığı nedir bilmiyorum fakat kısa bir araştırma yaptım ve kaynağa ulaştım. Aşağıdaki event'i listener ederek timer'ı çalıştırıp işlemlerin başlamasını sağlayabilirsin.
StackOverflow
Umarım faydası olur,
iyi çalışmalar dilerim,
başarılar.