哇 ~ 最近都 android文 ... 來發篇正統的 j2se文好了
以往在寫java的時後 並不care ui和thread的關係,也許會在
各個地方 建立thread 並且在該thread中 new Swing元件
但最近寫過mfc之後,發現mfc 的 視窗元件 僅能在UI-Thread中建立
因為mfc中建立UI的Thread還必須負責該UI的event-dispatch
而我們自已建的thread 哪會去寫什event-dispatch queue
所以 該ui 跟床上那條死魚女朋友已經相去不遠了
不會重畫 不會叫 不會動~
但以往在寫java的時後 不論在何時何地何條thread建的swing元件
其實都是可以正常運作的,但我懷疑只是我剛好沒遇到問題而已,其實這樣
是違反ui架構的
結論是 我的問題是
1. 是否在java中 要new Swing元件都必須在 ui-thread ?
2. 如果有事件要處理 都透過 SwingUtilities.invokerLater or invokerAndWait
來處理 相當於mfc的 PostMessage / SendMessage
3. SwingWorker好用嗎...(正在讀doc中...)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.165.216.27
→
02/17 13:51, , 1F
02/17 13:51, 1F
推
02/17 14:00, , 2F
02/17 14:00, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):