2014-03-05 33 views
1

我有兩個線程一個JFrame和一個監聽器。線程安全:JFrame和另一個類

監聽器正在主動偵聽來自服務器的消息並相應地追加到JFrame中的消息框。目前,我已將JFrame傳入偵聽器,並調用我在偵聽線程內創建的JFrames appendMessageBox方法。

我應該將方法appendMessageBox與監聽線程同步嗎?我應該讓偵聽器的方法在JFrames線程中回調嗎?

在此先感謝。

回答

2

你應該做的很簡單:所有調用Swing組件的調用都應該在Swing事件線程EDT(Event Dispatch Thread)上進行。期。

因此,您的監聽器應更新事件派發線程上的模型,並且模型更改應該反映在JFrame(視圖)中。