SWT (Standard Widget Toolkit) 是 IBM 推出的「基於 Java」圖形介面開發庫。所謂「基於 Java」,指開發者使用 Java 語言編寫代碼,但底層實際由 C/C++ 通過 JNI 實現,對程式設計師完全透明。SWT 針對不同平台提供原生實現,因此擁有接近原生應用的性能與外觀,速度顯著優於 Swing/AWT。
啟動 Eclipse,切換至 Java 透視圖,在 Package Explorer 新建 Java Project,命名為 Test。
swt.jar,例如 Windows XP:D:\eclipse\plugins\org.eclipse.swt.win32_3.0.0\ws\win32\swt.jarimport org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
public class SWTHello {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
Label label = new Label(shell, SWT.NONE);
label.setText("Hello, World!");
shell.pack();
label.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
label.dispose();
}
}
直接運行會報錯:java.lang.UnsatisfiedLinkError: no swt-win32-2133 in java.library.path
原因:SWT 依賴平台特定的 DLL/so 文件。解決方案:
-Djava.library.path=D:\eclipse\plugins\org.eclipse.swt.win32_3.0.0\os\win32\x86PATH,一勞永逸。啟動程式,即可看到原生風格的視窗與標籤。體驗流暢度,感受 SWT 的性能優勢。
SWT 以「Java 代碼、原生實現」的獨特架構,為 Java 桌面開發帶來了原生性能與外觀。掌握環境配置關鍵點,即可輕鬆開啟高性能 GUI 開發之旅。