Merhabalar, threadları anlamak için çeşitli denemeler yapyorum. Konsol ekranında örnekler yaptım fakat görsel bir form üzerinde de deneme yapmak istedim.
Yapmaya çalıştığım şey bir thread sınıfından iki adet örneği start() ile run ederek iki ayrı butonun üzerindeki yazıları değiştirmek. (Label de olabilir, öylesine deniyorum.)
isParcacigi.java class’ımın kodları
import java.util.logging.Level;
import java.util.logging.Logger;
public class isParcacigi extends Thread {
int b;
int sayi;
public isParcacigi(int b) {
this.b = b;
}
@Override
public void run(){
for (int i = b; i < Integer.MAX_VALUE; i++){
//System.out.println(i);
sayi++;
Thread.sleep(500);
}
}
}
Butonlar.java class’ımın içeriği
/*
Burada netBeans'ın jPanel oluştururken eklediği hazır kodlar var.
Çok kalabalık etmemesi için yazmıyorum. Kendimce açılan formun oluşturulması
olayını tetiklerken butonların textlerini thread ile değiştirmeye çalıştım, kodlarım
derlenme esnasında hata vermiyor fakat butonların textler değişmiyor... */
isParcacigi ip1 = new isParcacigi(10);
isParcacigi ip2 = new isParcacigi(20);
private void acilma(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
ip1.start();
ip2.start();
b1.setText(ip1.sayi + "");
b2.setText(ip2.sayi + "");
}