SWTSwing是由Christopher Deckers开发一个开源项目,目的是将SWT移植到Swing上面。初看这个项目感觉很搞笑,仔细一想,如果这个项目成功了,意义不小。想像一下,那时候你用SWT开发的Java程序的界面就可以是原生的(真正的原生,而不是模拟的),可以是Motif的,Metal的,或者任何一种Swing的LookAndFeel。
SWTSwing的项目网址是http://swtswing.sourceforge.net
下载他的程序包,解压后可以运行SWTSwingSnippetLauncher.jar,看到如下窗口
在Look And Feel文本框里输入不同的LookAndFeel类,就可以用不同的LookAndFeel启动左边树形框里选择的程序。
比如用javax.swing.plaf.metal.MetalLookAndFeel启动ExpandBar
用Sun的Windows LookAndFeel类com.sun.java.swing.plaf.windows.WindowsLookAndFeel
com.sun.java.swing.plaf.motif.MotifLookAndFeel
如果你指定SWT的Jar路径,即用原生的控件库,首先在上面的Combo里面选择SWT,而非SWTSwing,在Class-Path里输入你的swt.jar的路径,比如我的C:\Java\tools\swt.jar
目前SWTSwing的版本是3.2,Eclipse,Azureus,RSSOwl等著名的基于SWT的程序已经可以在SWTSwing上跑了,76%的SWT网站上的Snippets也可以运行。
当然这样两层的嵌套,不可避免的会影响程序的性能。