我正在编写一个我想要使用Swing和SWT的GUI应用程序。最终用户将以某种方式指定应该使用哪个(它不会同时使用两者!)。 SWT是我一般喜欢的,我一直在看JFace,但似乎如果我使用它最强大的功能,我将增加GUI和模型之间的耦合,并使得抽象GUI更加困难,所以Swing可以也用过。
是这样的吗?可以使用JFace而不将GUI细节绑定到模型中,反之亦然吗?
答案 0 :(得分:2)
据我所知,使用JFace观众可以很好地分离视图和模型。
这里唯一的紧密耦合是选择实际的查看器实现(例如,使用TableViewer与TreeViewer将模型绑定到Table或Tree小部件)。
关于你问题的第一部分,tat表示你想出于某种原因将你的应用程序与GUI框架的选择分开,我建议你看看UFace project
UFace项目旨在准确提供您的目标 - 一个可以针对许多GUI后端运行的单一UI实现(它调用 Providers ):< / p>
撰写本文时,UFace项目页面列出了对以下提供商的支持:
(我也听说过有关支持Qt Jambi提供商的一些工作的传言)
答案 1 :(得分:0)
您无法动态切换。 JFace称为SWT。不能要求它代替AWT。
至于JFace是否将模型与GUI结合,嗯,没有。它有一组模型接口,但你可以粘贴你喜欢的任何模型。如果您的客户希望有一天能够选择剥离JFace,那么您可以干净利落地完成这项工作。