① 我在官網上下載了swt插件:/home/abc/download/swt-3.5.2-gtk-linux-x86.zip,怎麼解壓安裝
http://wenku..com/view/13b2fef67c1cfad6195fa75f.html
這個網址你看懂就行
② java有了Swing,為什麼還要使用SWT呢
由於在不同的操作系統下,提供的控制項是不一樣的,AWT採用最小公約數的辦法,只提供所有操作系統都有的控制項。但後來SUN改變了做法,在Swing里除了JFrame,JWinodows,JDialog(記不太清了,好像是這幾個)是調用本地操作系統的控制項,其它JPanel,JButton之類的都是繪出來的,所以Swing在所有平台看起來都是一樣的外觀。這樣保持了外觀一致性,但犧牲了性能。 IBM更喜歡AWT的實現機制,做出了SWT,SWT採用的是最大公倍數的做法。SWT大部分都是用的本地操作系統的控制項,一些在windows里有的控制項可能在linux下沒有,對這種控制項才採用自己繪制的方式。SWT採用類似JAVA虛擬機的方式,在不同的平台,有不同的開發包,我們寫的java代碼是一樣的,但不同平台下看起來外觀是不一樣的,但性能提升很高,據說和C++做的界面速度差不多:) 也許你會問哪種更好,引一名話:this is equivalent to asking whether a harmmer is better than a screw driver,of course ,a hammer wieldded with sufficient force can probably drive a screw into a wall ,and the butt of a screw can be used in a pinch to knock in a nail. However, a good carpenter keeps both harmer and screw drivers in her tool box and will use the tool that is appropriate for the job at hand. 個人感覺以前java做界面完全沒有優勢,從外觀到性能(我很喜歡Swing的look and feel,可以改變風格),SWT的出現改變了性能上的缺點,再加上JFace,及Eclipse的RCP,我還是傾向於用SWT。