Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

java thread kullanımı


tunca

Öne çıkan mesajlar

javada frame/text bazlı amatörce bir oyun yazmaya başladım biraz daha dile hakim olup kendimi geliştirmek için, daha da çok başlardayım ama thread kullanımı hakkında yardıma ihtiyacım var. netten biraz bakınıp bişiler yazdım ama ne kadar doğru implement ettim bilmiyorum.
ilgili kod bölümü:
http://codepaste.net/zaxy1w

basitçe yapmasını istediğim olay, turn player'dayken, player framedeki button a tıklayana kadar threadin durması(combatthread.stop ?), buttona clickledikten sonra turn'ün npcye geçip threadin tekrar baştan başlaması(combatthread.start).
ama button'ın içindeki combatthread.start da:
"Exception in thread "AWT-EventQueue-0" java.lang.IllegalThreadStateException"
hatasını alıyorum.
Link to comment
Sosyal ağlarda paylaş

aynı hatayı alıyorum sleeple de
bir de yapmasını istediğim şey sleepden farklı, sleepde belirli bir süre durup kaldığı yerden devam ediyor süre bitince(bildiğim kadarıyla), ama ben sürenin buttona tıklanınca bitmesini ve en baştan başlamasını istiyorum
Link to comment
Sosyal ağlarda paylaş

Öncelikle herhangi bir class'ın metodlarını kullanmadan önce API okumanı tavsiye ederim. Thread#stop() 'un deprecated olduğunu ve kullanılmaması gerektiğini görüyorsun mesela orda: Thread#stop()

Ek olarak onun yerine ne kullanmak gerektiğini de yazmışlar: http://download.oracle.com/javase/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html

Stop/Start öyle kafana göre thread'i durdurup devam ettirmek için değil. Koda tam bakmadım ama tahminen tuşa basılana kadar thread'in durmasını istiyorsun. Thread'in durmasını ya da devam etmesini bir değişken ile kontrol edebilirsin. While döngüsünde sleep kullanarak belirli intervaller ile bu değişkene bakıp ona göre uyumaya devam edersin ya da işini yaparsın. Bu değişkene erişirken synchronized kullanman gerekebilir.

Edit: Ayrıca öyle herhangi bir thread'den swing widget'larına erişmemen gerekiyor. Şuna bir gözat: http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...