使用 NetBeans IDE 5.5 創建漂亮的 GUI

Java 平臺爲您的桌面應用程序提供了創建圖形用戶界面GUI的支持。幾個佈局管理器幫助您指定 GUI 組件的位置和大小。您可能已經熟悉了一些常用佈局管理器包括 FlowLayoutBorderLayout GridBagLayout 等等。佈局管理器的可視指南作爲 Swing 教程的一部分提供了對所有標準佈局管理器的出色評論。

如果您是一位技術嫺熟、樂於挑戰的用戶界面UI開發人員你可以手動編寫代碼使用佈局管理器的組合精確控制組件如何使用它們的容器空間。雖然手動佈置 GUI 窗體的能力可以作爲您在辦公室炫耀的資本,但這很浪費時間。在很多情況下,您可以通過使用可視的開發環境設計和實現圖形窗體,從而節約時間和精力。遺憾的是,很多集成開發環境(IDE)也不外乎是佈局管理器提供的各種屬性的瘦包裝。

如果您是位想避免這種類型 IDE 的專家那麼您將很高興地看到 NetBeans IDE 5.5 可提供更多價值。它不僅僅能夠使您可視地設置佈局管理器的各種屬性,儘管它具有這個能力。NetBeans IDE 5.5 具有一個功能,稱爲 NetBeans IDE GUI Builder。這種 GUI builder(早在 NetBeans IDE 5.0 作爲 Matisse 推出)爲您提供了花費更多時間設計應用程序 UI 的能力和自由,而無需花費大量時間處理特定佈局管理器的低級細節。圖 1 顯示了 NetBeans IDE 5.5 屏幕捕捉樣例。此圖和本文的其他圖像都顯示了與演示的地址窗格交互的 GUI builder 的屏幕捕捉。

 

NetBeans IDE GUI Builder 不僅通過爲您的 GUI 設計提供即時可視的更新來簡化 GUI 創建還通過解決 UI 設計人員面臨的最重要、最困難的問題幫助您創建更好看的 GUI。使用具有 NetBeans IDE GUI Builder NetBeans IDE 5.5 的一些優勢和特性包括

l      Free Design自由設計)模式

l      平臺獨立性

l      可視化預覽

l      國際化支持

l      調色板中的自定義組件支持

l      支持 Java Platform, Standard Edition 6Java SE 6)代碼佈局

 

Free Design模式

NetBeans IDE GUI Builder 提供 Free Design 操作模式能使您移動窗格或框架周圍的 UI 組件而無需擔心底層的佈局管理器。佈局管理器不會消失。事實上,當您移動窗體周圍的組件時,NetBeans IDE 使用名爲 GroupLayout 的新佈局管理器實現您指定的佈局設計。而 GUI builder 本身處理低級細節的組件定位、大小、大小調整和間距。這使您在設計吸引人的 UI 無需花費不必要的時間調整佈局實現的每個細節。當您拖放、重排、對齊和錨定圖形組件到窗體上時,GUI builder 提供可視反饋意見和佈局提示,幫助您創建完美的 UI

 

Free Design 概念是 Java SE 6 平臺提供的新 GroupLayout 佈局管理器與先進的 NetBeans IDE GUI Builder 的結合。GUI builder 和佈局管理器合作能使您自由放置和操縱窗體中隨處可見的可視化組件。當您創建新窗體或面板時,Free Design 模式默認情況下爲激活。這種與 GUI 窗體交互的設計風格出現在 NetBeans IDE 5.5 作爲另一個佈局管理器.

理論上當您在 Design 窗格中安排組件時NetBeans IDE 5.5 能夠使用佈局管理器的任何組合定位它們。然而實際上它使用 GroupLayout 管理器。NetBeans IDE 工程師創建 GroupLayout 簡化 IDE NetBeans內的 GUI 創建。

平臺獨立性

無論底層平臺如何好的 UI 設計總能很好地工作如果您有意使用硬編碼位置和大小信息放置窗體組件那麼這些 UI 將無法在所有平臺上都正確顯示。每個主機平臺(無論是 Mac OS XOpen Solaris Microsoft Windows)都有自己建議的組件位置和佈局原則。NetBeans IDE GUI Builder 使用在所有目標平臺上都運行良好且正常顯示的一個佈局定義,幫助您創建不受平臺限制的 UI

如果在放置組件的時候遵循佈局原則您的 UI 將在任何平臺上看起來都很棒。當您將 UI 組件從調色板拖放到可視設計區域時,GUI builder 建議的對齊、位置、錨點和大小都會在運行時根據特定平臺進行必要的調整。結果是您設計 UI 一次,它在任何地方都能正確運行。

GUI builder GroupLayout 管理器在您的窗體設計中避免了絕對位置。相反GUI builder 在組件之間保持相對的空間關係。當您將組件拖放到 NetBeans IDE 5.5 的可視化設計區域時GUI builder 生成代碼將特定數字偏移量和大小減少到最小。如果您注意了 NetBeans IDE 提供的可視化提示,您的 UI 設計將不受平臺限制。

該可視化提示包括建議間距和對齊的虛線。因爲佈局管理器決定運行時的首選間距和位置提示,所以在不同主機上運行時組件之間的準確距離可能略有變化。

 

您甚至可以創建自定義規則以控制 GroupLayout 類確定正確間距的方式。GroupLayout 對象從 LayoutStyle 對象中獲得佈局和間距原則。通過實現您自己的 LayoutStyle 您可以創建影響 GroupLayout 類工作方式的自定義的規則。然而,Java SE 6 平臺已經爲每個主要平臺提供了 LayoutStyle 類實現,因此您的 GUI 設計將符合大部分平臺的 UI 原則

設計預覽

當您設計 UI GUI builder 顯示了 NetBeans IDE 5.5 窗口的設計區域中的窗體。這是您的 UI 窗體的一個準確但靜態的表示。您無法與它交互,就好像它實際正在運行一樣。靜態和非交互的視圖在您安排組件時是很好的,但是該視圖不會幫您在調節窗體大小時看到窗體組件將如何增大或縮小,您也不能測試 tab 切換的順序。

NetBeans IDE 5.5 GUI Builder 擁有一個可視設計預覽功能能使您看到窗體將如何在您的應用程序中顯示。可以通過單擊預覽圖標Design 窗格上的一個眼睛小圖標激活設計預覽。

 

當您單擊預覽圖標時GUI builder 將在 Preview 模式下激活您的窗體。Preview 模式允許您將信息鍵入文本字段中,用 tab 切換各個字段並調節窗體大小。預覽還將告訴您,組件對齊和錨點是否按照您想要的方式進行設置。

 

國際化

國際化是使您的應用程序本地化的過程。本地化應用程序使用其目標語言環境的語言和文化期待提供更愉悅、可用的 UI。雖然正確國際化一個應用程序有很多要求,但您在 UI 設計中應該至少避免以下錯誤:

l      設置絕對組件位置和大小

l      使用硬編碼字符串、字體、顏色以及從左到右的查看方向

NetBeans IDE GUI Builder 通過幫您創建一個在各處都能成功運行的佈局設計可以幫助您避免這些錯誤不管使用哪一種特定於平臺的組件位置規則。GroupLayout 管理器在組件之間提供根據平臺外觀變化的相應的間距和相對定位。此外GUI builder 還可輕鬆地將文本提取到資源包中。如果您一起使用 Free Design 佈局和GroupLayout 佈局管理器,您的窗體將自動調整標籤和其他組件大小,以適應新的本地化文本的長度。

爲了完善您的 Swing UI應該將它國際化。這意味着您可以爲某個特定語言環境轉換字符串、顏色和圖像,而無需重建 GUI。您必須通過在 ResourceBundle 文件中放置這些項,避免硬編碼字符串和其他可本地化內容。仔細提取所有可視文本,包括標籤、按紐、選項卡和邊框上的文本,以及源代碼的窗口標題。不要忘記工具提示、助記符和可訪問性說明。NetBeans IDE 5.5 中的國際化嚮導可以爲您快速準確地提取可本地化的資源。您可以從 Tools 菜單啓動該向導,

國際化嚮導引導您輕鬆完成 3 個步驟:

1.                  選擇包含本地化資源的文件。

2.                  選擇 NetBeans IDE 應該創建的資源包的名稱。

3.                  提取並認可字符串。

雖然您可以使用嚮導提取單一源文件的本地化字符串,但是當您對多個文件使用嚮導時,它可以爲您節約大量時間。

 

在您創建了 ResourceBundle 文件存儲本地化文本後,必須指定讓嚮導使用這個資源文件。

下一步將認可並編輯鍵值對列表。是您的應用程序用於發現並使用本地化資源的名稱。是用於應用程序中的本地化術語、短語或其他資源。您的代碼將使用鍵從 ResourceBundle 文件中加載本地化文本值。您可以修改鍵以遵守這一點的代碼命名慣例。

NetBeans IDE GUI Builder 不僅幫您提取本地化文本還幫您創建轉換。通過爲每個目標語言環境創建新的 ResourceBundle 對象您可以添加轉換。當您在 Projects 視圖窗格的資源包文件上右鍵單擊時,您可以通過選擇提供的 Add Locale 選項添加新的語言環境。

 

NetBeans IDE 5.5 的一個獨特功能就是它的本地化編輯器。一旦您運行國際化嚮導您的本地化文本將位於 ResourceBundle 文件中。如果您在 Project 視圖窗口的該文件上右鍵單擊並選擇 Open 選項NetBeans IDE 將打開本地化編輯器。在本示例中,開發人員可以將日語語言環境添加到項目中。目標文本出現在編輯器中,允許用戶轉換文本。

 

自定義組件

 

所有的 GUI 組件顯示在 NetBeans IDE 內可停靠的調色板中。在默認情況下調色板在 NetBeans IDE UI 的右側但您可以將它移動至您喜歡的位置。使用組件與將它們從調色板拖放至您的框架或窗格中一樣簡單。調色板預先配置了所有核心 Swing Abstract Window ToolkitAWT組件。

您可以使用 Palette Manager 輕鬆安裝自己自定義的組件。可以將您的組件包裝爲 Java archiveJAR文件作爲更大庫的一部分或者甚至作爲其他 NetBeans IDE 項目的一部分。您甚至可以將組件從您當前項目放置到易於訪問的調色板上。

一旦創建了組件類就出現在 Project 視圖窗口中。您可以右鍵單擊組件文件並選擇 Tools > Add to Palette 選項。此時,您可以爲組件選擇類別並將它放置在調色板中。類別默認情況下包括 SwingAWT Beans,您還可以添加新的類將組件添加到調色板之後,您可以將它們從調色板中拖放至應用程序的其他窗體中。

 

生成的代碼

 

當您創建 UI NetBeans IDE GUI Builder 爲您生成了佈局代碼。生成的代碼是受保護的意思是 IDE 保護它避免意外、手動更改。受保護的代碼在 IDE 中很好的標記並且大部分代碼包含在 initComponents 方法中。此外,還保護組件字段值和它們的事件處理程序頭,而不是事件處理程序主體。


當您想要提供其他事件處理程序或自定義的初始化時您可以在受保護區域外編寫其他代碼。另外您可以使用 GUI builder 爲任何 GUI 組件添加預創建和後創建以及預初始化和後初始化的代碼。GUI builder 將您自定義的代碼添加到 initComponents 方式中並將使用其餘的受保護代碼維護您的代碼。因此雖然 GUI builder 創建了您不能直接在類源視圖中編輯的受保護的代碼,但它還是爲您安全添加自定義代碼提供了一種方法。

 

 

Java SE 6 平臺集成

 

NetBeans IDE 5.0 開始就一直提供了 Free Design 佈局。NetBeans IDE 5.0 GUI Builder 通過使用名爲 Swing Layout Extensions 的獨立庫爲該佈局戰略提供支持。IDE 提供這個庫因爲對底層 GroupLayout 佈局管理器的支持仍不是 J2SE 5.0 中核心 Java 平臺的一部分。Swing Layout Extensions 仍然可用然而現在該功能還存在於 Java SE 6 平臺的核心庫中。

您可以使用 NetBeans IDE 5.5 開發應用程序和 UI用於 Java SE 6 或更早的 Java 平臺版本。如果您爲 Java SE 6 之前的任何平臺版本編寫應用程序那麼您必須繼續使用 Swing Layout Extensions。然而新的 GUI builder 也可以使用 Java SE 6 平臺支持的佈局管理器功能生成 UI。在後一種情況中,您不需要在最終產品中使用或包含佈局擴展。

如果您在 NetBeans IDE 5.5 中創建了一個新項目並且您的目標平臺是 Java SE 6那麼 GUI builder 將使用 Java SE 6 平臺的核心庫自動生成 UI。然而如果您將這個舊項目導入 NetBeans IDE 5.5那麼您應該手動更新項目佈局以使用新的 Java SE 6 平臺庫。當然如果喜歡您仍然可以使用佈局擴展但是這樣做不需要使用 Java SE 6 平臺。

您可以通過訪問窗體屬性更改 UI Layout Generation Style NetBeans IDE GUI Builder 主窗口中確保 Design 模式是激活的。這樣可以在 Design 窗格中以圖形方式顯示 UI 設計。單擊 Inspector 窗格中的窗體查看窗體屬性。屬性之一是 Layout Generation Style。您可以選擇 Standard Java 6 Code Swing Layout Extensions Library更改這個設置不會影響 UI 的外觀,但會更改 GUI builder 生成代碼,創建 UI 的方式。

 

小結

 

NetBeans IDE GUI Builder 幫助您創建專業級 UI。它指導您使用 Free Design 佈局模式選擇組件放置和大小。這種模式讓您將 GUI 組件拖放到面板或框架中。雖然您可以將組件放置在您想要的位置,但是 NetBeans IDE GUI Builder 提供了位置提示,使您的設計在任何主機平臺上看起來都很正確。如果您使用 Free Design 概念,那麼 NetBeans IDE GUI Builder 將使用 GroupLayout 實現您的 UI 設計。GroupLayout 是一個佈局管理器,可以控制組件大小和位置以及運行時組件的間距。這些不受平臺限制的設計在運行時產生特定於平臺的佈局。因爲在創建時,您能夠預覽您的 GUI 設計,所以您總能瞭解運行時有哪些東西值得期待。

此外NetBeans IDE GUI Builder 還幫助您創建易於本地化的國際化應用程序。國際化嚮導將幫助您提取本地化文本創建特定於語言環境的資源文件。爲了提高生產率並簡化使用自己或第三方 GUI 組件的方式,NetBeans IDE 使您將這些組件添加到組件調色板中。要使用新的圖形組件,您只需將它從調色板拖放到窗體或面板中。

最後NetBeans IDE 5.5 GUI Builder 將與 Java SE 6 平臺很好地合作。GUI builder 可以生成在 Java SE 6 平臺中使用新的 GroupLayout 佈局管理器的佈局實現或者它可以使用運行上述 Java 平臺版本的 Swing Layout Extensions。無論使用舊擴展或 Java SE 6 平臺提供的新佈局,NetBeans IDE 5.5 GUI Builder 幫助您創建漂亮的 GUI

有關更多信息,請訪問:

 

l      NetBeans IDE 5.5 下載

l      JDK 6 ProjectJava SE 6 平臺下載

l      GUI Building in NetBeans IDE 5.0

l      NetBeans User FAQ: GUI Editor (Matisse)

l      Swing Layout Extensions Project

l      GUI Builder: Update Pack for NetBeans IDE 5.5

 

 




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章