首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

SWT/JFace 入門指南(一):Eclipse RCP 開發環境搭建與 Hello World 實戰

     編輯:Java 程式設計入門

系列文章規劃

  1. 搭建開發環境(本文)
  2. SWT 基礎控件介紹
  3. JFace 入門:Viewer 與 Provider 模式
  4. 事件模型與監聽器機制
  5. 綜合實例:構建圖形化應用

預期讀者:了解 Eclipse IDE 基礎操作、具備 Java 基礎、想快速上手 SWT/JFace 桌面開發的開發者。

環境搭建三步走

第一步:創建 Java Project

File → New → Java Project,任意項目名(如 SWTDemo)。

第二步:導入核心 JAR 包

從 Eclipse 安裝目錄 plugins/ 複製以下 4 個 JAR 到項目 lib/ 並加入 Build Path:

圖1:Build Path 配置示例

第三步:配置本地庫 (SWt JNI DLL) —— 關鍵步驟

SWT 通過 JNI 調用原生 OS GUI API,需加載平台特定 DLL:

  1. 找到 org.eclipse.swt.win32_3.x.x.jar (Windows 32位)
  2. 解壓,取出 os/win32/x86/ 下所有 .dll 文件
  3. 三種配置方式任選一:
    • 最簡單:複製 DLL 到 JRE/bin/ 目錄
    • 環境變量:將 DLL 目錄加入 PATH
    • 啟動參數:Run Configurations → Arguments → VM Arguments 添加 -Djava.library.path=path/to/dll

圖2:VM Arguments 配置

Hello World 完整代碼

import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.SWT;

public class HelloWorld {
    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setText("SWT Hello World");
        shell.setLayout(new FillLayout());
        shell.setSize(300, 200);
        
        Label label = new Label(shell, SWT.CENTER);
        label.setText("Hello, SWT/JFace!");
        
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) display.sleep();
        }
        display.dispose();
    }
}

運行驗證

  1. 右鍵類 → Run As → Java Application
  2. 彈出原生風格窗口,顯示居中標籤,關閉窗口程序正常退出

常見問題排查

JAR 包版本示例 (Eclipse 3.1M6)作用
org.eclipse.swt_3.x.x.jar3.1.0SWT 核心 UI 工具包
org.eclipse.jface_3.x.x.jar3.1.0JFace 視圖/數據綁定框架
org.eclipse.core.runtime_3.x.x.jar3.1.0運行時核心(擴展點、注冊表、適配器)
org.eclipse.ui.workbench_3.x.x.jar3.1.0Workbench UI 基礎設施
現象原因解決
UnsatisfiedLinkError: swt-win32-xxxxDLL 未在 java.library.path按第三步配置 DLL 路徑
ClassNotFoundException: org.eclipse.swt.widgets.DisplayJAR 未加入 Build Path檢查 Build Path → Libraries
64位 JDK 報錯32位 DLL 與 64位 JDK 不匹配下載對應 64位 SWT JAR 或使用 32位 JDK
Linux/Mac 無法運行需平台專用 SWT JAR從 Eclipse 官網下載對應平台版本

現代化構建建議

  • Maven/Gradle 依賴:org.eclipse.platform:org.eclipse.swt:4.30 (自動解析平台分類器)、org.eclipse.platform:org.eclipse.jface:4.30
  • 模塊化 (JPMS):SWT 4.20+ 提供 module-info.java,需 requires org.eclipse.swt;
  • RCP 產品化:使用 Tycho 構建、p2 更新站點、原生安裝包生成

下一集預告

深入 SWT 基礎控件:Shell/Composite/Label/Text/Button/Combo/Table/Tree 佈局與事件綁定,掌握原生桌面 UI 構建塊。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved