2013年7月25日 星期四

WindowBuilder:Java GUI 的 WYSIWYG 編輯器

前幾天被問到要用 Java 做簡單的視窗程式,希望很快就寫出來,不要花太多時間
不過因為需要做 GUI,當時心裡想~用 .NET 寫的話可以靠 Visual Studio 拉介面
產生 GUI 的速度會遠比用 Java 自己打程式碼快得多。
回家之後查了一段時間,無意間發現了 WindowBuilder 這個工具,而且是 Google 提供的開發工具!
後來看了一下網路上的資料,有人說原本是 Instantiations, Inc. 開發的付費工具,後來 Google 買下來以後就改成免費提供了。
真實性不清楚,也沒有仔細去查,不過總之現在它是 Google 提供的免費開發工具就是了。


安裝 WindowBuilder
WindowBuilder 是 eclipse 的外掛套件,所以要安裝 WindowBuilder 必須透過 eclipse 安裝軟體的方式進行。
在 eclipse 介面中選擇 Help → Install New Software,然後要使用的網址可以參考 [1] 的 Download 頁面
以 Indigo 來說,安裝的網址如下:
http://dl.google.com/eclipse/inst/d2wbpro/latest/3.7
我的 eclipse 版本是 Juno,也一樣可以安裝 Indigo 用的 WindowBuilder。
接著會出現要安裝的選項如下圖:


WindowBuilder Engine 是一定要裝的,其他三個 GWT、Swing 和 SWT 就看自己的需要
三個就是不同的 Java 畫 GUI 的套件。Swing [2] 是 Java 原生內建的視窗套件
SWT [3] 是 eclipse 提供的套件;GWT [4] 則是 Google 提供的~
這裡我是用 SWT 套件~。

使用 WindowBuilder
要使用 WindowBuilder 時,必須用 eclipse 的 wizard 建立對應的檔案,開啟檔案時才會用 WindowBuilder 開啟
因此好像是沒辦法任意在 .java 檔上開啟 WindowBuilder 去產生介面的樣子(不太確定,不過目前還沒試出來)。

要產生視窗的介面時,可以在指定的 package 上點滑鼠右鍵,接著點 new -> Other...
然後選擇 WindowBuilder,接著就看自己想建的是什麼了。
這裡的範例要用 SWT 建一個單純的 Windows 視窗,因此選的是 WindowBuilder -> SWT Designer -> SWT -> Application Window
接著會跑出一般新建 class 時要輸入的資訊,把 class 名稱輸入好就可以了。
產生的畫面如下:


可以看到相關的程式碼都自動寫好了!XD
切換到設計介面時長相是這樣的:


跟 Visual Studio 比起來畫面蠻擠的,畢竟這是另外嵌進 IDE 的,所以就沒辦法像 Visual Studio 那樣想藏什麼東西就把東西縮在想要的位置藏起來
不過該有的還是都有了!同時這個產生的程式碼是可以直接執行的~執行效果就如同上圖那樣跑出那個視窗,這裡就省了一張截圖了~。XD

參考資料:
1、Java Developer Tools:WindowBuilder Pro
2、Trail: Creating a GUI With JFC/Swing
3、SWT: The Standard Widget Toolkit
4、Google Developer:Google Web Toolkit

沒有留言: