欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

網(wǎng)站建設(shè)核心之動(dòng)作處理

2022-08-20    分類: 網(wǎng)站建設(shè)

通常,激活一個(gè)命令可以有多種方式,用戶可以通過菜單、擊鍵或工具欄上的按鈕選擇特定的功能。在AWT事件模型中實(shí)現(xiàn)這些非常容易:將所有事件 連接到同一個(gè)監(jiān)聽器上。例如:假設(shè)blueAction是一個(gè)動(dòng)作監(jiān)聽器,它的actionPerformed方法可以將背景顏色改變成藍(lán)色。將一個(gè)監(jiān)聽 器對象加到下面幾個(gè)事件源上:

·標(biāo)記為Blue的工具欄按鈕
·標(biāo)記為Blue的菜單項(xiàng)
·擊鍵CTRL+B
然后,無論改變背景顏色的命令是通過哪種方式下達(dá)的,是點(diǎn)擊按鈕、菜單選擇,還是按下鍵盤,其操作動(dòng)作都是一樣的。
Swing包提供了一種非常實(shí)用的機(jī)制來封裝命令,并將它們連接到多個(gè)事件源,這就是Action接口。一個(gè)動(dòng)作是一個(gè)封裝下列內(nèi)容的對象:
·命令的說明(一個(gè)文本字符串和一個(gè)可選圖標(biāo));
執(zhí)行命令所需要的參數(shù)(例如,在列舉的例子中請求改變的顏色)。
一個(gè)方法是ActionListener接口中很熟悉的一個(gè):實(shí)際上,Action接口擴(kuò)展于ActionListener接口,因此,可以在任何需要ActionListener對象的地方使用Action對象。
接下來的兩個(gè)方法允許啟用或禁用這個(gè)動(dòng)作,并檢查這個(gè)動(dòng)作當(dāng)前是否啟用。當(dāng)一個(gè)連接到菜單或工具欄上的動(dòng)作被禁用時(shí),這個(gè)選項(xiàng)就會(huì)變成灰色。
putValue和getvalue方法允許存儲(chǔ)和檢索動(dòng)作對象中的任意名/值。有兩個(gè)重要的預(yù)定義字符串:Action.NAME和Action.sMALLjcON,用于將動(dòng)作的名字和圖標(biāo)存儲(chǔ)到一個(gè)動(dòng)作對象中。
如果動(dòng)作對象添加到菜單或工具欄上,它的名稱和圖標(biāo)就會(huì)被自動(dòng)地提取出來,并顯示在菜單項(xiàng)或工具欄中。SHORT_DESCRiRTION值變成了工具提示。
Action接口的最后兩個(gè)方法能夠讓其他對象在動(dòng)作對象的屬性發(fā)生變化時(shí)得到通告,尤其是菜單或工具欄處罰的動(dòng)作。例如,如果增加一個(gè)菜單,作為動(dòng)作 對象的屬性變更監(jiān)聽器,而這個(gè)動(dòng)作對象隨后被禁用,菜單就會(huì)被調(diào)用,并將動(dòng)作名稱變?yōu)榛疑傩宰兏O(jiān)聽器是一種常用的構(gòu)造形式,它是JavaBeans 組件模型的一部分。
需要注意,Action一個(gè)接口,而不是一個(gè)類。實(shí)現(xiàn)這個(gè)接口的所有類都必須實(shí) 現(xiàn)剛才討論的7個(gè)方法。慶幸的是,有一個(gè)類實(shí)現(xiàn)了這個(gè)接口除actionPerformed方法之外的所有方法,它就是AbstractAction個(gè)類 存儲(chǔ)了所有名/值對,并管理著屬性變更監(jiān)聽器。我們可以直接擴(kuò)展AbstractAction類,并在擴(kuò)展類中實(shí)現(xiàn)actionPerformed方法。
構(gòu)造器讀取動(dòng)作的名稱和圖標(biāo),為工具提示設(shè)置簡要說明,將工作設(shè)置為監(jiān)聽器。
最后,想要將這個(gè)動(dòng)作對象添加到擊鍵中,以便讓用戶敲擊鍵盤命令來執(zhí)行這項(xiàng)動(dòng)作。為了將動(dòng)作與擊鍵關(guān)聯(lián)起來,首先需要生成KeyStroke類對象。這 是一個(gè)很有用的類,它封裝了對鍵的說明。要想生成一個(gè)Keystroke對象不要調(diào)用構(gòu)造器,而是調(diào)用KeyStroke類中的靜態(tài) getKeyStroke方法:
為了能夠理解下一個(gè)步驟,需要知道keyboardfocus的概 念。用戶界面中可以包含許多按鈕、菜單、滾動(dòng)欄以及其他的組件。當(dāng)用戶敲擊鍵盤時(shí),這個(gè)動(dòng)作會(huì)被發(fā)送給擁有焦點(diǎn)的組件。通常具有焦點(diǎn)的組件可以明顯地察覺 到(但并不總是這樣),例如,在Java觀感中,具有焦點(diǎn)的按鈕在按鈕文本周圍有一個(gè)細(xì)的矩形邊框。用戶可以使用TAB鍵在組件之間移動(dòng)焦點(diǎn)。當(dāng)按下 SPACE鍵時(shí),就點(diǎn)擊了擁有焦點(diǎn)的按鈕。還有一些鍵執(zhí)行一些其他的動(dòng)作,例如,按下箭頭鍵可以移動(dòng)滾動(dòng)條。
然而,在這里的示例中,并不希望將擊鍵發(fā)送給擁有焦點(diǎn)的組件。否則,每個(gè)按鈕都需要知道如何處理CTRL+Y、CTRL+B和CTRL+R這些組合鍵。
這是一個(gè)常見的問題,Swing設(shè)計(jì)者給出了一種很便捷的解決方案。每個(gè)JComponent有三個(gè)輸入映射(imput maps),每一個(gè)映射的KeyStroke對象都與動(dòng)作關(guān)聯(lián)。

名稱欄目:網(wǎng)站建設(shè)核心之動(dòng)作處理
本文鏈接:http://aaarwkj.com/news/191663.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、品牌網(wǎng)站制作電子商務(wù)、網(wǎng)站排名、商城網(wǎng)站ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
日本免费高清一区二区| 黄色三级视频久久久| 最新日韩人妻中文字幕一区| 中文字幕欧美日韩人妻| 欧美偷拍一区二区三区| 97碰碰视频在线观看| 欧美亚洲一区二区三区91 | 中文字幕在线看二区不卡| 国产亚洲高清一区二区| 中文字幕日本乱码精品久久| 日本精品中文字幕人妻| 欧美欧美一区二区三区| 亚洲熟妇av乱码在线| 长腿丝袜美女亚洲一区二区| 在线观看午夜视频免费| 亚洲精品乱码国产妇女毛片| 国产精品精品国产色婷婷| 亚洲最新精品一区二区| 久久午夜av一区二区| 我要看黄色一级性生活片| av天堂高清在线观看| 国产精品国产三级国产普通话99| 中文字幕人妻少妇美臀| 久久偷拍精品视频久久| 成人av资源在线观看| 国产午夜精品福利爽爽| av在线免费观看美日韩| 熟妇人妻精品视频一区二区| 欧美性精品不卡在线观看| 欧美日韩在线一区二区精品| 日本在线一区二区中文| 亚洲精品一区二区三区香蕉| 日本中文字幕在线播放一区 | 视频一区日本视频二区| 欧美av在线免费观看| 人妻操人人妻中出av| 亚洲二区中文字幕在线观看| av人妻熟女少妇蒂亚| 一区二区欧美日韩91| 日本中文字幕不卡在线一区二区| 亚洲av第一区国产精品|