作者neigence ()
站内java
标题[J2SE] ui thread
时间Wed Feb 17 13:12:37 2010
哇 ~ 最近都 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
1F:→ TonyQ:建立跟行为是不同回事吧 ? 根据认知建立跟paint在j是分开的. 02/17 13:51
2F:推 jtmh:印象中 Java Tutorial 有针对这部分议题修改过,可以参考看看 02/17 14:00