資源描述:
《java布局管理器能改進gui設計和開發(fā)過程》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、為應用程序創(chuàng)建一個圖形用戶界面(graphicaluserinterface(GUI))的過程需要多個開發(fā)者和設計師緊密配合以達成設定好的目標。即使在配合最嚴密的產品小組中,這個過程也經常因為缺乏共同語言而受到影響,這種情況會導致錯誤理解、基礎的簡單任務的重復和不理想的結果?! ≡诒疚闹?,我們會討論設計師和開發(fā)者是怎樣受益于在GUI開發(fā)中結合Java布局管理器的。Swing類庫包括幾個布局管理器,從非常簡單的FlowLayout管理器到更復雜和靈活的GridBagLayout管理器。從我們的經驗看,使用
2、布局管理器能夠幫助我們在設計和開發(fā)過程中得到一致,因為每個布局管理器帶來了一組獨特的、定義好的設計可能性,開發(fā)小組很容易實現這些可能性?! ∥覀儠褂靡粋€GUI示例,并采用從最簡單到最復雜的形式,最簡單的形式中GUI構建不使用任何布局管理器,最復雜的形式中會使用高級的布局管理器,用來管理控件、列和GUI窗口中多余空間的分配。在文章結尾時,您應該會很好地理解布局管理器可以怎樣積極地影響GUI設計,從而影響GUI開發(fā)過程?! ≡O計和開發(fā)過程 在典型的GUI設計和開發(fā)過程中,設計師負責創(chuàng)建一系列圖形以表示G
3、UI的每個屏幕。通常是在一張白色書寫板或一張紙上繪出這些圖形,然后在一個如Photoshop或VisualBasic的繪圖工具中做成模型。設計師在界面中使用字體、顏色和控件的布局,直到他或她對結果滿意為止。這個做成模型的GUI就變成交給開發(fā)者或開發(fā)小組的規(guī)范的一部分,他們的任務是實現設計師理想中的GUI?! ≡诤芏嗲闆r下,設計師的模型給開發(fā)者或開發(fā)小組帶來很多問題,原因通常是一系列錯誤的假定。我們首先會討論這些常見的假定,然后看看Java布局管理器能夠怎樣幫助我們解決它們?! е洛e誤設計的常見假定情況
4、 首先,設計師可能假定如按鈕和標簽的控件中包含的字符串文字在大小上一致。如果要向不同國家或地區(qū)的用戶配置這個應用程序,那么用戶可見的字符串就很可能被翻譯成那個國家或地區(qū)的語言。如果(這是很可能的)翻譯過后的字符串的長度和設計師指定的長度不同,較長的字符串就會被控件截斷,較短的字符串就會在兩頭加上多余的空格?! 〉诙?,設計師可能假定控件整體窗口的大小。用戶經常希望能調整窗口的大小,將窗口調大以使用更大的區(qū)域,或將窗口調小從而同時使用更多可見的應用程序窗口。在兩種情況中,應該對GUI控件的位置和大小都進行
5、調整,從而最好地利用新的空間。當窗口擴展時,雖然用戶可能不會希望控件按鈕(它包含固定的文字字符串)增大,他們可能希望一個元素(如列表或表)增大,從而顯示更多的行和更寬的列?! 〉谌O計師可能假定原型機上控件的外觀會擴展到每個最終用戶的機器。Java語言承諾實現的一件事就是跨平臺兼容性。為了達到這一點,“Java基礎類”(JavaFoundationClasses(JFC))提供了一套可以運行在不同平臺和操作系統上的GUI控件。為實現基本的如按鈕和文本框的控件,開發(fā)者可以依賴“抽象窗口工具包”(Abst
6、ractWindowToolkit(AWT))類庫。AWT讓Java語言能夠在每個系統上使用本地(或重量級)窗口小部件(widget),但它只能提供基本的用戶界面體驗。 對于將使用樹列表、表、工具欄、帶圖形的按鈕和其它復雜控件的應用程序,開發(fā)者就要轉向JFC和Swing類庫。Swing通過創(chuàng)建畫布和實際地建立每個帶有低級繪圖和鼠標API調用的控件實現可移植性。因為沒有使用本地窗口小部件,這被稱為輕量級或模擬窗口小部件工具包。每個控件的實際繪圖延遲到一個被稱為外觀和感覺的對象。外觀和感覺盡力模仿本機控件
7、的外觀和特征,所以用戶在從本機應用程序切換到Java應用程序時會感到有一點不同?! 〔煌耐庥^和感覺對控件的定位和繪圖有很大區(qū)別,所以在Windows外觀和感覺中有同一種外觀的GUI以Motif或Macintosh的外觀和感覺運行時會有非常不同的外觀。沒有考慮到這一點而設計和開發(fā)的GUI在您的Windows原型中可能看起來不錯,但運行在另一個操作系統(如Linux或Macintosh)上可能看起來很差。 解決這些假定的問題 前三個假定可以通過以一種單獨的語言,用不可調整大小的窗口和固定的外觀和感覺發(fā)
8、布應用程序來避免。然而,顯示設置提出的完全是另外一個問題。在部署應用程序的機器上,這些設置和原型機上的設置不一樣。例如,用戶可以在整個系統設置字體和字體大小以適合他(或她)的可訪問性首選項。在這種情況下,用戶可見字符串的長短和接收輸入(如文本框)的控件會和設計時的不一樣?! 】丶⒋翱诤妥煮w根據系統的不同而改變,所以您在建立GUI時應該牢記這些變量,并根據它們對其作巧妙的調整。Web應用程序設計師和開發(fā)者必須使用的最重要的概念是可流動性。以