flex3中實現拖放

2021-08-29 21:53:53 字數 1360 閱讀 3639

在flex3中實現拖放有兩種三種方法:

一、使用dragenabled

二、使用startdrag與stopdrag

三、使用dragmanager。

第一種,這是區域性的,對於部分flex元件如tree等,可以直接設定其dragenabled屬性為true。

第二種,也很簡單,且比較通用。主要**如下:

private function initializehandler(event : flexevent) : void

private function startdraghandler(event : mouseevent) : void

private function stopdraghandler(event : mouseevent) : void

第三種,使用dragmanager。這是實現拖動操作最方便的方法。使用過wordpress的人朋友,都了解它的widgets編輯功能,著實不錯,在flex裡也可以模仿它實現。widgetbase只是作為乙個示例,並未實現任何邏輯。

效果頁面:

示例說明:

1、上面有三個dragenabled label,這三個label是用本文第二種方法實現的乙個dragablelabel自定義元件。三個label因為其布局格式不同,拖動效果也不同。

2、label下面,便是widget管理。這是乙個培訓示例。使用者可以直接從左邊框裡拖動widget到右邊框裡,左邊為未啟用的widget,右邊為已選用的,並且右邊的widget通過拖動可以上下排序。

原始碼解讀:

1、首先程式自定義了乙個iwidget介面,不明白介面是什麼的趁早回家賣紅薯。因為dragmanager的拖動物件是  iuicomponent,所以繼承於它。

function get isfolded() : boolean;

function get isactivated() : boolean;

function set isactivated(value : boolean) : void;

function fold() : void;

function unfold() : void;

2、widgetbase實現iwidget,做為widget的基類。在實際專案中,widget是各不相同的,繼承於widgetbase,在子類中實現各自的特性。widgetbase的實現也很簡單。

3、widgetmanageexample該檔案不再羅唆,請自行檢視原始碼。

本示例只為培訓演示所用,旨在幫助學員理解dragmanager的使用。在學習本示例之前,請先了解關於state的知識。示例**,不適合直接商用。如果用於專案,須再一些修改。

Flex3學習筆記3

flex3學習筆記3 flex指令碼基礎 1 方法 2 變數 變數是在程式中儲存資訊的一種方法。如 var username username tom var username tom public var username tom 3 資料型別 基本的資料型別有 string 字串 number ...

Flex3學習筆記3

flex3學習筆記3 flex指令碼基礎 1 方法 2 變數 變數是在程式中儲存資訊的一種方法。如 varusername username tom varusername tom public varusername tom 3 資料型別 基本的資料型別有 string 字串 number 數值,...

Flex 3權威指南

flex的發展史 2002年3月,macromedia創造了ria這個術語。當時,這個想法感覺像是個幻想。不過,這些都已經改變了,ria現在已經成為了現實。macromedia在2004年推出了flex,在早已普及的flash平台上開發應用程式因此成為可能。這些應用程式在設計 可用性和可移植性幾個方...