Swing'de bazı işlemler yaptıktan sonra kullanıcı arayüzünü güncellemenin doğru yolu nedir? Örneğin, bir düğmeyi tıkladıktan sonra hemen hemen anında veya birkaç saniye sürebilen bir yöntem çağrılır. Örneğin; Aslında, tüm uygulama mantığı bir web servisi aracılığıyla uzaktan yapılır, bu yüzden uygulamanın yanıt vermesi için biraz beklemek normaldir. Bir düğme içinSalınım, UI'nin düzgün şekilde nasıl güncelleştirileceği
Benim eventhandler bu gibi görünebilir:
myButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
//callWebService();
//do stuff
//updateUI(); // <----- repaint? revalidate? what?
}
});
Benim şu anki uygulama dahili olarak geçerli hale getirmesi() çağırın ve UI tutan ana bileşenine() yeniden boyamak updateUI yöntemini çağırır. Bu çalışır, ancak bazen ekran titriyor görebilirsiniz. Yanlış mı yapıyorum? Bunu yapmanın daha iyi bir yolu var mı?
http://en.wikipedia.org/wiki/SwingWorker – qwerty
Anladığım kadarıyla, bu soru, kullanıcı arabirimini (UI) yanıtlamak için başka bir iş parçacığı yapmaktan ziyade bir şey yaptıktan sonra UI'yi güncellemekle ilgilidir. Yine de, yöntemin yürütme süresinin neden bahsedildiğini anlamıyorum. –
Yürütme süresinden bahsetmiştim çünkü Swing'in bileşenleri yüklemeye çalışırken biraz farklı davranması ve yükün çok uzun sürmesi, dolayısıyla belki de ekranın yeniden çizilmesini gerektiriyor. – Hectoret