Düğmeye bağlı bir dinleyicim olduğunu varsayalım. Bu düğmeye bastığımda, actionPerformed çağrılır ve görünür olarak etiket etiketini ayarladım. Daha sonra calculate()
yöntemi çalışır (içinde gerçekten uzun hesaplamalar vardır ve zaman alır). Sonra sonuçları show()
yöntemiyle yazdırmak istiyorum.ActionScript’li javada kod çalıştırırken birden fazla görev gerçekleştirin
Şey i etiket yürütülecektir actionPerformed
içindeki tüm kodundan sonra görünür olarak ayarlanacaktır bir gerçeği olduğunu bilirler.
Bu yüzden sorum şu: Arka planda çalışmak için calculate
yöntemini nasıl ayarlamalıyım? İş Parçacığı? SwingTimer? SwingWorker? Henüz ideal bir yol bulamadım.
class ButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
calculateLbl.setVisible(true);
calculate();
show();
}
}
Anwser'ünüz için teşekkürler, örnek kod nasıl başlayacağımı anlamamda yardımcı oldu ve şimdi daha fazla düzenleme yapabilir ve devam edebilirim. – breathtaker
"Calculate()" çalışırken, sonuçları karede yazdırmak için show() 'ı çağırabileceğim bir yöntem söyleyebilir misiniz? Örneğin, 'hesapla' döngüsünün içinde her 100 seferde çalışabilir. – breathtaker
@breathtaker: SwingWorker'ınızdaki yayınlama/süreci kullanarak, [SwingWorker Tutorial] 'a (https://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html) da bakmaya bakın. bu siteyi ararken Örneğin, kolayca bulunabilen [ilgili yanıtlarım] 'a (http://stackoverflow.com/search?tab=votes&q=user%3a522444%20swingworker%20publish%20process) bakın. –