freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機外文翻譯--菜單和工具欄-資料下載頁

2025-05-11 17:20本頁面

【導(dǎo)讀】Excerptedfrom"JavaSwing(2NdEdition)(O'Reilly)"byMarc. Loy,RobertEcksteinetc.theJMenuBarponent.JFrameframe=newJFrame("Menu");JMenuBarmenuBar=newJMenuBar();(menuBar);plainsbitterly.(newBevelBorder());().add(menuBar,);

  

【正文】 不要混淆 setJMenuBar()方法和老版的 AWT setMenuBar()方法,否則編譯器一定吃 不消。 如果應(yīng)用程序在 Macintosh上運行,用戶可以設(shè)置其外觀風(fēng)格,按自己的意愿把菜單欄放到屏幕頂部。系統(tǒng)屬性 true時,該狀態(tài)即被激活。但是,在默認情況下此狀態(tài)是被禁止的,因為大多數(shù) Java 程序并不期待出現(xiàn)這種情況,而且必須對程序適當(dāng)編碼才可處理該狀態(tài)。尤其要注意的是, Aqua 人機界面規(guī)范( Aqua Human Interface Guidelines)要求菜單欄始終可見。如果應(yīng)用程序的某個框架沒有菜單欄,那么,當(dāng)該窗口獲得輸入焦點 時,菜單欄會立刻消失,讓用戶不知所措。解決這一問題最普遍的方法是編寫一個菜單工廠( menufactory),為應(yīng)用程序用到的每個框架生成一個同樣的菜單欄。盡管這樣做增大了程序員的工作量,但為了給 Mac 用戶呈現(xiàn)一個親切、舒適的界面,多做點工作還是值得的。 連接菜單欄的第二種方法是調(diào)用 JComponent的子類 JMenuBar 類,這種方法相比之下用得不多。這意味著可以和其他 Swing 組件一樣,通過 Swing 的布局管理器實現(xiàn)菜單欄定位。舉例來說,我們可以用下列代碼替換對 setJMenuBar()的調(diào)用: (new BevelBorder())。 ().add(menuBar, )。 Figure 145 按 Swing 組件的方式定位 JMenuBar 這樣一來,菜單欄被置于框架底部,如圖 145 所示(請注意,設(shè)置環(huán)繞菜 8 單欄的斜面邊框是為了突出菜單欄的位置)。甚至還可以在不同的位置添加多個菜單欄。 Swing 不要求將單個菜單欄錨定在框架頂部。由于都是 JComponent的子類,所以多重( multiple)菜單欄可以位于容器內(nèi)的任何位置。當(dāng)然,如果沒有強制性的理由,程序員是不會照此辦理的。但這樣就影響了外觀風(fēng)格在適當(dāng)?shù)臅r機給菜單欄妥善定位。移動菜單欄這類基礎(chǔ)組件,幾乎總是會讓用戶手忙腳亂,不知該如何操作。如果程序中還包含多重菜單欄,大概就更熱鬧了。 屬性 JMenuBar 類的屬性如表 143 所示。其中, menu 屬性是一個索引屬性( indexed property),引用了每一個連接到菜單欄的 JMenu 對象。只讀屬性menuCount 則存放被連接菜單的數(shù)目 。請記住,單個選擇模型只允許每次激活一個菜單。如果當(dāng)前有菜單被激活, selected屬性返回 true;否則返回 false。ponentAtIndex屬性可訪問與給定索引有關(guān)的菜單,它與被索引的 menu屬性相似,只是它的內(nèi)容被拋給一個 Component 對象。如果沒有組件與索引相關(guān),getComponentAtIndex()存取方法將返回 null值。 ponent屬性返回一個對 this的引用(即菜單欄本身), subElements 屬性返回由菜單欄中各個菜單組成的數(shù)組。 JMenuItem 類 事 件處理 處理菜單項事件的方法有很多種。鑒于菜單項從 AbstractButton 處繼承了ActionEvent 功能,因而一個可行的方法便是為每個菜單項賦予一個操作指令(這通常由指定組件自動完成),并將所有菜單項連接到同一個 ActionListener方法上。接下來,在監(jiān)聽器的 actionPerformed() 方 法中 調(diào) 用 事 件 的getActionCommand()方法獲取產(chǎn)生事件的菜單項的操作指令。這一操作將告知監(jiān)聽器哪個菜單項已經(jīng)被單擊,并允許其進行適當(dāng)回應(yīng)。本章之前介紹的 和稍后將介紹的 都使用上述方法。 另一種方法是,程序員給每個菜單項注冊一個獨立的 ActionListener 類,來判斷哪個菜單項被選中。但是, Swing 能做的還不止這些。最面向?qū)ο蟮姆椒ㄊ莿?chuàng)建一個專門的 Action 類,讓它應(yīng)對用戶可能向應(yīng)用程序提交的所有任務(wù),從而讓程序員把實現(xiàn)每個動作的程序代碼與動作的名稱、圖標(biāo)、按鍵及其他屬性 9 捆綁為一體。程序員隨后便能用此 Action類創(chuàng)建菜單項,自動地設(shè)置菜單項的文字、圖像、快捷方式,等等。 上述技巧在程序員希望用多種方 法(如分別用工具欄和菜單入手)調(diào)用同一個操作時尤其有效。程序員可以用同樣的 Action 實例創(chuàng)建菜單項和工具欄按扭,兩者的標(biāo)簽和外觀都會很合適。當(dāng)應(yīng)用程序需要中止某個當(dāng)前不適宜的操作時,調(diào)用 Action實例的 setEnabled就會自動將與該操作有關(guān)的用戶接口元素進行全部更新(從而對菜單項和工具欄按扭不加區(qū)分)。同樣地,對操作的名稱或圖標(biāo)等其他屬性的改變也會自動地更新所有相關(guān)的用戶接口組件。 盡管 SDK 之前的版本無法直接從 Action 構(gòu)造 JMenuItem,但是使用添加Action 到 JMenu或 JPopupMenu的方法可以達到同樣的效果 —— 菜單自會妥善創(chuàng)建并配置 JMenuItem。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1