Form üzerinde herhangi textbox veya label' a bir string'in her harfini tek tek sırayla yazdırmaya yarayan basit bir program yapmaya çalışıyorum.
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {
String deneme = "arabalar";
for(int i = 0 ; i < deneme.length(); i++){
for(double j = 0 ; j < 100000 ; j++){
jLabel1.setText(Character.toString(deneme.charAt(i)));
}
}
}
Kod böyle, sorun ise lableda sadece son harfi yazdırması, diğer hiçbir harf gözükmüyor. Çok bir uygulamam yok formlar üzerine ama sorun settext' le ilgili bir şey galiba.
Nasıl düzeltiriz acaba bunu?
Java Kodu Yardım (String)
String deneme = "arabalar";
jLabel1.setText(deneme);
Yazman yeterli. Ama ben animasyon şeklinde sırasıyla a ar ara arab araba gelsin istiyosan Timer classını kullanmalısın.
jLabel1.setText(Character.toString(deneme.charAt(i)));
komutu ile her seferinde jLabel içindeki yazıyı güncelliyorsun. her seferinde sdece bir harfi set ediyorsun. Şöyle yapabilirsin.
jLabel1.setText(jLabel1.setText+Character.toString(deneme.charAt(i)));
Bu şekilde yaptığında düzelecektir...
Merhaba , Timer Class'ı kullanımı bilmiyorsanız ; Kendi zamanlayıcınızı oluşturup kullanabilirsiniz. Buyrun.
public static void Beklet (int sure) {
long simdi = System.currentTimeMillis();
long son = System.currentTimeMillis();
while (true ) {
son=System.currentTimeMillis();
if (son-simdi>(sure*1000)){
break;
/* buradan sure * 1000 dememin sebebi ( sure = 1 varsayalım) 1 saniye bekleme yapmak için. curruenttimemillis fonksiyonu zamanı milisaniye biçiminden aldığı için 1000 ile çarparak 1 saniyeye çevirdim. */
} }