Car*_*icz 6 java concurrency user-interface swing
在"严肃"的Java GUI应用程序中,您将拥有许多GUI元素背后的模型:例如,DocumentModel支持a JEditorPane或ListModel后面的JList.
我们总是被告知不要从Swing工作线程外部进行GUI更改,并给出SwingUtilities.invoke...()解决方法.好吧,我可以忍受!当直接更改GUI组件的属性时,它当然是必要的(并且运行良好).
理想情况下,我的大多数GUI可见更改都是模型,而不是JComponents.但是因为它们是GUI可见的,它们是否"算作"GUI变化?即改变事件和听众提供必要的解耦,还是需要包装模型更改invoke...()?
对于Swing专业人士来说可能是老帽子,但是我无法找到任何明确说明这种或那种方式的参考文献.
通常,模型更改必须包装到invokeLater(...)中.在我看到的大多数挥杆类的模型代码中没有解耦.
您可以创建一个模型,该模型可以包含检查在Event Dispatcher Thread上进行GUI修改的调用.
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |