Eclipse中如何配置SWT

來源:互聯網
上載者:User

    SWT類似於JDK的AWT/Swing,它依賴本機作業系統GUI控制項的實現,以建立Java版的GUI控制項。SWT與AWT/Swing的不同之處是SWT使用了許多本機視窗小組件,這是SWT(標準小視窗工具箱)得名之故。

    由於視窗小組件系統與生俱來的複雜性以及不同系統之間的差別,即使在理想情況下,要實現和維護平台的視窗小組件庫也是很難的。目前,有幾種技術能夠明顯減少問題的複雜度,SWT庫採用了這些技術中的底層實現技術。Eclipse提供的SWT使用JNI叫用作業系統的內部API,所以能夠實現與本機應用程式相同外觀。不僅如此,SWT還可以在Java方法的操系統的調用之間建立一對一的對應關係。事實上這也是SWT取得成功的最重要因素之一。

 

    下面是在Eclipse中使用SWT的配置過程:

    第一步:無論是建立項目還是已有的項目,使用SWT只需要項目中加入SWT庫即可。方法是在項目屬性中的Libraries添加檔案 /eclipse/plugins/org.eclipse.swt.win32.win32.x86_3.1.1.jar 

   上面的目前的目錄的Eclpse的安裝目錄。

   第二步:找到目錄eclipse/configuration/org.eclipse.osgi/bundles/5/1/.cp,拷檔案swt-win32-3139.dll到c:/windows/system32下即可。

  完成以上兩步後即可在Eclipse下開始SWT應用程式了,下面是一個SWT的例子,摘自《Eclipse編程技術與執行個體》一書P268中,代碼如下:

 

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
    
public class MyLabel ...{

    private Label myLabel;
    private Shell shell;
    private Display display;
    
    public MyLabel()
    ...{
        super();
        display = new Display();
        
        shell = new Shell(display);
        
        shell.setSize(200,200);
        myLabel = new Label(shell, SWT.NONE);
        myLabel.setBounds(38,21,100,18);
        myLabel.setText("Hello, World!");
    }
    
    public void start()
    ...{
        shell.open();
        while(!shell.isDisposed())
        ...{
            if(!display.readAndDispatch())
            ...{
                display.sleep();
            }
        }
    }
    
    public static void main(String[] args) ...{
        MyLabel label = new MyLabel();
        label.start();

    }

}

運行一下即行看到一個視窗,與window的應用程式長得一模一樣,呵呵!

當然,如果不在Eclipse下採用SWT進行開發也是可以的。方法也是與上面一樣,添加相應的.jar到classpath指定的目錄中,或當前項目的lib目錄下,同時要把相應的.dll檔案拷貝到c:/windows/system32/目錄下。不同的是要下載一個SWT庫即可。

本文中Eclispe版本為3.1.1

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.