GUI'yi değiştiriyorsanız ve ActionListener
gibi AWT Olayı Gönderme iş parçacığısınızysanız, SwingUtilities.invokeLater(Runnable)
kullanıyor musunuz?SwingUtilities.invokeLTT içinde AWT Olayı Gönderme Olayı
cevap
Her zaman GUI güncelleştirmelerini Olay Sevk Ipinde (EDT) yapmalısınız. Ancak, Jeffrey yorumlarda belirtildiği gibi, bir Swing nesnesi üzerindeki ActionListener.actionPerformed
yöntemi, EDT'den çağrılmış olan zaten'dur. sadece JButton
/unenabled etkin bakmaya veya JList
öğeleri ekle/kaldır, ve senin bir Swing bileşeni bir ActionListener
aracılığıyla bu değişiklikleri istiyorsanız
, o zaman açıkça SwingUtilities.invokeLater
çağırmak zorunda olmamalıdır.
+1, OP bir “JTextComponent” sini temizlemeye çalışıyorsa veya “JScrollBar” konumunu yeniden konumlandırıyorsa, invokeLater gerekli olabilir. Ama sadece bir JButton'u etkinleştirme/devre dışı bırakma ve bir "JList" 'i değiştirme gibi görünse de öyle değil. – Jeffrey
@Jeffrey Bunu yapsam neden gerekliydi? – Stripies
EDT'de olduğumuz sürece, 'invokeLater' kullanmak oldukça işe yaramaz. Açıkça, daha sonra bir noktada bir şey çalıştırmak istiyorsak, her zamanki gibi aynı kısıtlamalar geçerlidir (yani, sadece EDT'den bir iplik başlattığımız için bize hiç yardımcı olmuyor). – Voo
- 1. FLEX uygulamasında yeniden gönderme olayı
- 2. Olayı
- 3. Etkin olmayan bir pencereye tıklama olayı gönderme
- 4. Sayfa kaldırma olayı asp.net içinde
- 5. click olayı angular2 içinde çalışmıyor
- 6. jQuery select seçeneğinde olayı simulate olayı simülasyonu
- 7. jqgrid olayı?
- 8. yangın olayı
- 9. "DOMNodeInserted" olayı
- 10. tarayıcı olayı()
- 11. jQuery olayı bir saniye içinde 3 click
- 12. button.click olayı ve button.command olayı arasındaki fark nedir?
- 13. JSF a4j için geri arama gönderme: jsFunction oncomplete olayı
- 14. Bir jquery olayı, gönderme eyleminin üzerine yazılıyor mu?
- 15. Biçim işleme sonrasında gönderilmiyor Gönderme için tıklama olayı düğmesi
- 16. Sarsıntı olayı çeşitli aygıtlarda farklı çalışır Sarsıntı Olayı özel uygulaması
- 17. jQuery olayı bubbling olayı Firefox'ta beklendiği gibi çalışmaz
- 18. ckeditor tıklama olayı çalışmıyor
- 19. Symfony2 login olayı dinleyicisi ve security.interactive_login olayı FOSUser kullanılarak tetiklenmedi
- 20. "DOMContent olayı" ve "yükleme olayı" arasındaki fark nedir?
- 21. Page olayı hiç yakılmıyor
- 22. jQuery pencere kaydırma olayı.
- 23. Klavye gizlendiğinde iOS olayı
- 24. Backbone.js text change olayı
- 25. Koleksiyondaki Backbone.js eşitleme olayı
- 26. Javascript Textbox Olayı
- 27. FrameLayout click olayı tetiklenmiyor
- 28. touchenter olayı çağrılmadı
- 29. bootstrap show.bs.modal olayı yanmıyor
- 30. iyonik uygulama başlatma olayı
Neyi başarmaya çalıştığınıza bağlıdır. – Jeffrey
@Jeffrey Üzgünüm, soruyu düzenledim. – Stripies
Hala yapmaya çalıştığınız şeye bağlı. Bir 'ActionListener'ın' actionPerformed' yöntemindeyken, EDT üzerindesiniz. Bununla birlikte, diğer tüm dinleyiciler aynı olayı işledikten sonra bazı eylemleri gerçekleştirmeniz gereken bazı durumlar vardır, bu durumda 'invokeLater' kullanmalısınız. Peki, aslında ne yapmaya çalışıyorsun? – Jeffrey