第12章 使用拖放

第12章 使用拖放

ID:21841900

大小:250.00 KB

頁數(shù):11頁

時間:2018-10-20

第12章  使用拖放_第1頁
第12章  使用拖放_第2頁
第12章  使用拖放_第3頁
第12章  使用拖放_第4頁
第12章  使用拖放_第5頁
資源描述:

《第12章 使用拖放》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、12.1拖放概述拖放原本是桌面應(yīng)用中非常普通的功能,。許多網(wǎng)頁編程語言都不支持拖放功能,很少使用在瀏覽器界面中。但是使用拖放能夠使用戶更加直觀的進(jìn)行操作,更貼近生活中餓操作習(xí)慣。Flex的出現(xiàn),可以瀏覽器應(yīng)用中實現(xiàn)與桌面應(yīng)用同樣的拖放功能。在將拖放遷移到瀏覽器應(yīng)用的同時,F(xiàn)lex制定了更為豐富的拖放特性。本節(jié)介紹在Flex中拖放的基本步驟,、拖放相關(guān)類,以及在拖放過程中觸發(fā)的事件。12.1.1拖放的過程在Flex中,拖放管理器負(fù)責(zé)數(shù)據(jù)項的拖放等任務(wù)。在整個拖放的過程中,共分為以下3個步驟。(1)初始化(I

2、nitiating):包含要拖放的條目的控件或者組件。如圖中選中的計算機(jī)網(wǎng)絡(luò)列表。(2)拖(Drargging):按住鼠標(biāo),將拖放對象拖到其他控件時,拖放管理器在鼠標(biāo)箭頭顯示圖片,表明正處于拖放過程中。該圖片稱為拖放代理。如圖6.81中的拖動條目時顯示的圖標(biāo)。(3)放(Dropping):當(dāng)鼠標(biāo)將拖放的條目放到目標(biāo)控件中后,該條目將插入的目標(biāo)控件中。在拖放管理器中,使用了一些專業(yè)術(shù)語,如下所示。拖放對象(Draginitiator):要拖放的條目。拖放源(Dragsource):要拖放的數(shù)據(jù),拖放的數(shù)據(jù)在

3、圖中是不可見的。格式(Format):拖放源中的屬性,說明拖放條目的數(shù)據(jù)。拖放代理(Dragproxy):拖放時顯示的圖片。在可以拖放的控件中時顯示綠色加號圖標(biāo),否則,顯示紅色叉號圖標(biāo)。拖放目的地(Droptarget)拖放過程的終點。12.1.2拖放中的相關(guān)類在拖放的過程中,默認(rèn)的拖放管理器往往不能滿足需要,可以手動編寫拖放方法。在手動定義拖放行為時,需要使用Flex中的與拖放相關(guān)的類。拖放過程主要涉及下面3個類。DragManager類:負(fù)責(zé)管理拖放的操作,其中doDrag方法為拖放的開始。DragS

4、ource類:包含要拖放的數(shù)據(jù),以及拖放的一些其他特性。例如關(guān)于數(shù)據(jù)的一些事件偵聽。DragEvent類:拖放過程中發(fā)生的事件都繼承該類。12.1.3拖放中的相關(guān)事件在使用上述類編寫自定義的拖放時,可能根據(jù)需求,還需要對拖放過程中發(fā)生的事件做出響應(yīng)。拖放過程中發(fā)生的事件分為拖放的起始控件和拖放的目標(biāo)控件即拖放起始者和拖放目的地。起始控件的事件如下。mouseDown:當(dāng)鼠標(biāo)選中要拖放的條目觸發(fā)的事件。mouseMove:當(dāng)鼠標(biāo)拖動要拖放的條目時觸發(fā)的事件。dragComplete:當(dāng)鼠標(biāo)將條目拖出初始控件

5、中時,發(fā)生該事件。目標(biāo)控件的事件如下。dragEnter:當(dāng)拖放代理從控件外部移動控件中時,觸發(fā)該事件。dragOver:當(dāng)拖放條目進(jìn)入到目標(biāo)控件中時,觸發(fā)該事件。該事件發(fā)生在dragEnter之后。dragDrop:當(dāng)用戶在目標(biāo)控件中釋放鼠標(biāo)時,觸發(fā)該事件。dragExit:放用戶將拖放的條目拖出后,未到達(dá)目標(biāo)控件時觸發(fā)的事件。12.2在列表類控件中使用拖放Flex中允許在列表類控件之間進(jìn)行拖放。通過拖放簡化了列表操作,方便用戶使用。圖和顯式了在兩個列表控件中進(jìn)行拖放。圖是學(xué)生選課的部分界面。學(xué)生可以將

6、選擇的課程從左邊的列表中,拖放到右邊的已選擇列表。12.2.1控件中相關(guān)拖放的屬性在列表類的控件中,有些屬性是與拖放相關(guān)的,如表所示12.2.2在列表控件中使用拖放中實現(xiàn)了在列表控件中的拖放,將左邊列表控件的dragEnabled設(shè)為true,右邊列表控件的dropEnabled屬性設(shè)為true即可,代碼如下。(詳細(xì)內(nèi)容請參照本書)12.3在數(shù)據(jù)表格控件中使用拖放上一節(jié)講述了在兩個列表控件之間進(jìn)行拖放。如果要在顯示多項數(shù)據(jù)的數(shù)據(jù)表格控件之間進(jìn)行拖放,構(gòu)造方式與列表類控件類似。圖是兩個數(shù)據(jù)表格控件之間進(jìn)行拖

7、放的示例。2個數(shù)據(jù)表格的列表項并不一致,目標(biāo)控件的列表項僅為源控件的一部分。在進(jìn)行拖放時,目標(biāo)控件會根據(jù)控件列項的dataField屬性,在拖放的數(shù)據(jù)中對應(yīng)的屬性取值,所以在圖中將4項內(nèi)容的表格項拖到2項的控件中時,只顯示目標(biāo)控件中需要的內(nèi)容。12.4在樹形列表控件中使用拖放樹形控件之間進(jìn)行拖放,可以將拖放的節(jié)點插入到鼠標(biāo)指向的位置。拖放樹枝節(jié)點,樹枝節(jié)點下所有內(nèi)容也會自動拖放目標(biāo)控件中。下圖是在兩棵樹之間進(jìn)行拖放。圖拖放包含字節(jié)點的樹枝節(jié)點,圖是拖放后展開“國外“節(jié)點的情況。12.5在樹形和列表控件中實

8、現(xiàn)拖放上面的所有例子都是在相同類型的控件之間進(jìn)行拖放,即dragSource中的數(shù)據(jù)格式都是一致的。如果要在樹形和列表控件逐漸直接進(jìn)行拖放,拖放后的數(shù)據(jù)很有可能不符合目標(biāo)控件的需求。在前面簡述過樹形控件的數(shù)據(jù)類型(dragSource中的format)為“treeItems”。而其他支持拖放屬性的控件類型為“item”,所以在這兩類控件之間實現(xiàn)拖放的時候,不能使用默認(rèn)的拖放管理。需要自己編寫方法??梢圆捎萌缦虏襟E。第一步:在目

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。