I have used Swing extensively, I have only read about SWT and have not used it. JFace is a UI toolkit implemented using SWT that simplifies common UI programming tasks. JFace is window-system-independent in both its API and implementation, and is designed to work with SWT without hiding it. I don't think that JFace provides the same level of MVC suport that Swing does. [link|http://www-106.ibm.com/developerworks/java/library/os-ecgui1/index.html?dwzone=java|JFace tutorial]