1
我有兩個線程一個JFrame和一個監聽器。線程安全:JFrame和另一個類
監聽器正在主動偵聽來自服務器的消息並相應地追加到JFrame中的消息框。目前,我已將JFrame傳入偵聽器,並調用我在偵聽線程內創建的JFrames appendMessageBox
方法。
我應該將方法appendMessageBox
與監聽線程同步嗎?我應該讓偵聽器的方法在JFrames線程中回調嗎?
在此先感謝。
我有兩個線程一個JFrame和一個監聽器。線程安全:JFrame和另一個類
監聽器正在主動偵聽來自服務器的消息並相應地追加到JFrame中的消息框。目前,我已將JFrame傳入偵聽器,並調用我在偵聽線程內創建的JFrames appendMessageBox
方法。
我應該將方法appendMessageBox
與監聽線程同步嗎?我應該讓偵聽器的方法在JFrames線程中回調嗎?
在此先感謝。
你應該做的很簡單:所有調用Swing組件的調用都應該在Swing事件線程EDT(Event Dispatch Thread)上進行。期。
因此,您的監聽器應更新事件派發線程上的模型,並且模型更改應該反映在JFrame(視圖)中。