專利名稱:一種開發(fā)環(huán)境中實(shí)現(xiàn)目錄多選框的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)軟件領(lǐng)域,更具體地說,涉及一種開發(fā)環(huán)境中實(shí)現(xiàn)目錄多選框
的方法及裝置。
背景技術(shù):
隨著企業(yè)越來越復(fù)雜的業(yè)務(wù)邏輯,越來越大的數(shù)據(jù)量,對應(yīng)用系統(tǒng)的網(wǎng)絡(luò)能力、交 互性能及數(shù)據(jù)處理能力都提出了更高的要求。傳統(tǒng)的瘦客戶端應(yīng)用程序,則越來越難以滿 足客戶的要求。 Eclipse是著名的跨平臺的自由整合式開發(fā)環(huán)境(IDE)。最初主要用來Java語言 開發(fā),但是目前亦有人透過外掛程序使其作為其它計(jì)算機(jī)語言比如C++和Python的開發(fā)工 具。Eclipse的本身只是一個(gè)框架平臺,但是眾多外掛程序的支持使得Eclipse擁有其它功 能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的 IDE。 Eclipse作為一種富客戶端應(yīng)用框架,以其組件化、便利性、智能安裝和升級、可擴(kuò) 展性、本地觀感及使用體驗(yàn)等顯著的優(yōu)點(diǎn)受到了廣泛的歡迎。 在Eclipse應(yīng)用開發(fā)中,目錄選擇框是一種使用較為頻繁的組件,如選擇程序的 輸入、輸出路徑等等。該選擇框組件可以樹狀形式提供本地文件系統(tǒng)結(jié)構(gòu),供我們進(jìn)行選擇 相應(yīng)的目錄。然而, 一個(gè)比較突出的問題是,如果我們需要選擇多個(gè)目錄,只有通過多次使 用該選擇框的方式來實(shí)現(xiàn)。 由于Eclipse下的目錄選擇框不支持多選功能,而不能通過一次選擇多個(gè)目錄的 目的,限制了目錄選擇框組件的應(yīng)用。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供了一種跨平臺的自由整合式開發(fā)環(huán)境中實(shí)現(xiàn)目錄多 選框的方法及裝置。 為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了如下技術(shù)方案 —種跨平臺的自由整合式開發(fā)環(huán)境中實(shí)現(xiàn)目錄多選框的方法,包括步驟 獲取本機(jī)文件系統(tǒng)結(jié)構(gòu); 獲取文件并進(jìn)行判斷; 當(dāng)所述文件是目錄,獲取并存儲所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;當(dāng)所述文 件為非目錄,則舍棄所述文件; 對所述目錄層次結(jié)構(gòu)進(jìn)行解析,形成具備復(fù)選框功能的和本機(jī)目錄層次結(jié)構(gòu)相同 的結(jié)構(gòu)樹; 將所述結(jié)構(gòu)樹封裝形成多選目錄框。 優(yōu)選的,本發(fā)明實(shí)施例中,所述解析包括 解析前臺展現(xiàn)的數(shù)據(jù),即解析數(shù)據(jù)形式或展現(xiàn)名稱;
解析后臺數(shù)據(jù),把需要的信息在后臺中隱藏起來,以備傳遞數(shù)據(jù)。 優(yōu)選的,本發(fā)明實(shí)施例中,所述文件系統(tǒng)結(jié)構(gòu)包括本機(jī)磁盤、我的電腦和網(wǎng)絡(luò)鄰居
的相關(guān)信息。 優(yōu)選的,本發(fā)明實(shí)施例在Eclipse環(huán)境中時(shí),具體步驟為 通過類 javax. swing, f ilechooser. FileSystemView獲取本機(jī)文件系統(tǒng)結(jié)構(gòu); 獲取文件并進(jìn)行判斷; 當(dāng)所述文件是目錄時(shí)通過類javax. swing, filechooser. FileSystemView獲取并
存儲所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;當(dāng)所述文件為非目錄,則舍棄所述文件; 使用類org. eclipse, ui. dialogs. ContainerCheckedTreeViewe對所述目錄層次
結(jié)構(gòu)進(jìn)行解析;形成具備復(fù)選框功能的和所述目錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹; 將所述結(jié)構(gòu)樹結(jié)合類org. eclipse, jface. dialogs. Dialog封裝形成多選目錄框。 —種跨平臺的自由整合式開發(fā)環(huán)境中實(shí)現(xiàn)目錄多選框的裝置,包括, 系統(tǒng)結(jié)構(gòu)獲取組件;用于獲取本機(jī)文件系統(tǒng)結(jié)構(gòu); 文件目錄判斷組件;用于獲取文件并判斷所述文件是否為目錄; 文件目錄存儲組件,用于當(dāng)所述文件是目錄時(shí),獲取并存儲存儲所述目錄的層次
結(jié)構(gòu)信息和圖標(biāo)信息;當(dāng)所述文件為非目錄時(shí),則舍棄所述文件; 目錄解析組件;用于對所述目錄層次結(jié)構(gòu)進(jìn)行解析,形成具備復(fù)選框功能的和本 機(jī)目錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹; 多選框封裝組件;用于將所述結(jié)構(gòu)樹封裝形成多選目錄框。
優(yōu)選的,本發(fā)明實(shí)施例中,所述目錄解析組件包括 解析前臺組件;用于解析前臺展現(xiàn)的數(shù)據(jù),即解析數(shù)據(jù)形式或展現(xiàn)名稱;
解析后臺組件;用于解析后臺數(shù)據(jù),把需要的信息在后臺中隱藏起來,以
備傳遞數(shù)據(jù)。 優(yōu)選的,本發(fā)明實(shí)施例中,所述文件系統(tǒng)結(jié)構(gòu)包括本機(jī)磁盤、我的電腦和網(wǎng)絡(luò)鄰居 的相關(guān)信息。 優(yōu)選的,本發(fā)明實(shí)施例中在Eclipse環(huán)境中時(shí),包括組件 系統(tǒng)結(jié)構(gòu)獲取組件,用于通類過javax. swing, filechooser. FileSystemView獲 取本機(jī)文件系統(tǒng)結(jié)構(gòu); 文件目錄判斷組件;用于獲取文件并判斷所述文件是否為目錄; 文件目錄存儲組件,用于當(dāng)所述文件是目錄時(shí),通過類javax. swing.
filechooser.FileSystemView獲取所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;當(dāng)所述文件為
非目錄時(shí),舍棄所述文件; 目錄存儲組件,用于存儲所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息; 目錄解析組件,用于使用類org. eclipse, ui. dialogs.
ContainerCheckedTreeViewer對所述目錄層次結(jié)構(gòu)進(jìn)行解析;形成具備復(fù)選框功能的和 所述目錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹; 多選框封裝組件,用于將所述結(jié)構(gòu)樹結(jié)合類org. eclipse, jface. dialogs. Dialog 封裝形成多選目錄框。
5
通過以上技術(shù)方案可以看出,在本發(fā)明實(shí)施例的方法或裝置中,通過獲取本機(jī)文 件系統(tǒng)結(jié)構(gòu);然后對獲取文件并經(jīng)過判斷后,對是目錄的文件獲取其層次結(jié)構(gòu)信息和圖標(biāo) 信息。接著對所述目錄層次結(jié)構(gòu)進(jìn)行解析,形成具備復(fù)選框功能的和本機(jī)目錄層次結(jié)構(gòu)相 同的結(jié)構(gòu)樹;最后將所述結(jié)構(gòu)樹封裝形成多選目錄框。從而使得每一次使用目錄對話框就 能選擇所需的多個(gè)目錄的狀況,顯著地減少了用戶操作的繁瑣程度,提高了需要多選目錄 程序的使用效率。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。 圖1為本發(fā)明實(shí)施例中所述方法的步驟流程圖;
圖2為本發(fā)明實(shí)施例中所述裝置的組成示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。 為了能夠更好的理解本發(fā)明實(shí)施例,以下是對本發(fā)明實(shí)施例中應(yīng)用到的一些技術(shù) 內(nèi)容所作的相應(yīng)說明 本發(fā)明公開了一種跨平臺的自由整合式開發(fā)環(huán)境中實(shí)現(xiàn)目錄多選框的方法,以實(shí) 現(xiàn)可以一次選擇多個(gè)目錄的目的。 首先,描述一下當(dāng)本發(fā)明實(shí)施例中使用以Eclipse為開發(fā)環(huán)境中需要到的幾個(gè)類 的具體解釋和功能Javax. swing, filechooser. FileSystemView是JAVA中JFileChooser的文件系統(tǒng)
網(wǎng)關(guān),類被設(shè)計(jì)成能夠直接獲得盡可能多的特定于OS的文件系統(tǒng)信息。 org. eclipse, jface. dialogs. Dialog是eclipse提供的用戶與應(yīng)用程序交互的
彈出式窗口。當(dāng)用戶單擊菜單的某個(gè)菜單項(xiàng)(通常標(biāo)題以"…"結(jié)尾)或者按鈕時(shí),會彈出
一個(gè)對話框窗口,用戶可以從中讀取信息、寫入文本內(nèi)容、設(shè)置某些選項(xiàng)等。 org. eclipse, ui. dialogs. ContainerCheckedTreeViewer是eclipse提供的帶有
復(fù)選功能樹型控件。通過該控件,可以生成帶有復(fù)選框的樹型結(jié)構(gòu)。 圖1為本發(fā)明實(shí)施例中所述方法的步驟流程圖。以下根據(jù)圖1所示并以Eclipse 為開發(fā)環(huán)境為例來說明本發(fā)明實(shí)施例方法的具體步驟 步驟Sll、通過類javax. swing, filechooser. FileSystemView獲取本機(jī)文件系統(tǒng)
結(jié)構(gòu)??梢垣@取如本機(jī)磁盤、我的電腦、網(wǎng)絡(luò)鄰居等相關(guān)信息。
步驟S12、獲取文件并進(jìn)行判斷。 步驟S13、當(dāng)該文件是目錄時(shí)通過類javax. swing, filechooser. FileSystemView獲取并存儲該目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息。當(dāng)該文件為非目錄,則直接進(jìn)行舍棄。
步驟S14、使用類org. eclipse, ui. dialogs. ContainerCheckedTreeViewer對存
儲的本機(jī)目錄層次結(jié)構(gòu)進(jìn)行解析,形成具備復(fù)選框功能的和本機(jī)目錄層次結(jié)構(gòu)相同的結(jié)構(gòu) 樹。
主要分兩部分進(jìn)行解析一是解析前臺展現(xiàn)的數(shù)據(jù),即以什么樣的數(shù)據(jù)形式或名 稱展現(xiàn)出來;二是解析后臺數(shù)據(jù),即把需要的信息在后臺中隱藏起來,以備傳遞數(shù)據(jù)。
步驟S15、將解析后的結(jié)構(gòu)樹結(jié)合類org. eclipse, jface. dialogs. Dialog封裝形 成多選目錄框。 在本發(fā)明實(shí)施例的方法中,通過首先獲取本機(jī)文件系統(tǒng)結(jié)構(gòu);然后對獲取文件并 經(jīng)過判斷后,對是目錄的文件獲取其層次結(jié)構(gòu)信息和圖標(biāo)信息。接著對所述目錄層次結(jié)構(gòu) 進(jìn)行解析,形成具備復(fù)選框功能的和本機(jī)目錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹;最后將所述結(jié)構(gòu)樹 封裝形成多選目錄樹。從而使得每一次使用目錄對話框就能選擇所需的多個(gè)目錄的狀況, 改變了原來必須多次使用目錄對話框才能選擇所需的多個(gè)目錄的狀況,顯著地減少了用戶 操作的繁瑣程度,提高了需要多選目錄程序的使用效率。 此外,本發(fā)明實(shí)施例還提供了 一種跨平臺的自由整合式開發(fā)環(huán)境中實(shí)現(xiàn)目錄多選 框的裝置,以實(shí)現(xiàn)可以一次選擇多個(gè)目錄的目的。 圖2為本發(fā)明實(shí)施例中所述裝置的結(jié)構(gòu)示意圖。以下根據(jù)圖2所示并以Eclipse 為開發(fā)環(huán)境為例來說明本發(fā)明實(shí)施例裝置的具體構(gòu)成 系統(tǒng)結(jié)構(gòu)獲取組件l,用于通過類javax. swing, filechooser. FileSystemView獲 取本機(jī)文件系統(tǒng)結(jié)構(gòu); 文件目錄判斷組件2 ;用于獲取文件并判斷所述文件是否為目錄;
文件目錄存儲組件3,用于當(dāng)所述文件是目錄時(shí),通過類javax. swing, filechooser. FileSystemView獲取并存儲所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;當(dāng)所述 文件為非目錄時(shí),舍棄所述文件; 目錄解析組件4, 用于使用類org. eclipse, ui. dialogs.
ContainerCheckedTreeViewer對所述目錄層次結(jié)構(gòu)進(jìn)行解析;形成具備復(fù)選框功能的和 所述目錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹;
所述目錄解析組件包括 解析前臺組件;用于解析前臺展現(xiàn)的數(shù)據(jù),即解析數(shù)據(jù)形式或展現(xiàn)名稱; 解析后臺組件;用于解析后臺數(shù)據(jù),把需要的信息在后臺中隱藏起來,以備傳遞數(shù)據(jù)。 多選框封裝組件5,用于將所述結(jié)構(gòu)樹結(jié)合類org. eclipse, jface. dialogs.
Dialog封裝形成多選目錄框。 在本發(fā)明實(shí)施例的裝置中,通過首先通過系統(tǒng)結(jié)構(gòu)獲取組件獲取本機(jī)文件系統(tǒng)結(jié) 構(gòu);然后使用目錄獲取組件對獲取文件并經(jīng)過判斷后,對是目錄的文件獲取其層次結(jié)構(gòu)信 息和圖標(biāo)信息。接著通過目錄解析組件對所述目錄層次結(jié)構(gòu)進(jìn)行解析,形成具備復(fù)選框功 能的和本機(jī)目錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹;最后使用多選框封裝組件將所述結(jié)構(gòu)樹封裝形成 多選目錄框。 通過本發(fā)明實(shí)施例的裝置,使得每一次使用目錄對話框就能選擇所需的多個(gè)目錄
7的狀況,改變了原來必須多次使用目錄對話框才能選擇所需的多個(gè)目錄的狀況,顯著地減少了用戶操作的繁瑣程度,提高了需要多選目錄程序的使用效率。 本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。 對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
權(quán)利要求
一種跨平臺的自由整合式開發(fā)環(huán)境中實(shí)現(xiàn)目錄多選框的方法,其特征在于,包括步驟獲取本機(jī)文件系統(tǒng)結(jié)構(gòu);獲取文件并進(jìn)行判斷;當(dāng)所述文件是目錄,獲取并存儲所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;當(dāng)所述文件為非目錄,則舍棄所述文件;對所述目錄層次結(jié)構(gòu)進(jìn)行解析,形成具備復(fù)選框功能的和本機(jī)目錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹;將所述結(jié)構(gòu)樹封裝形成多選目錄框。
2. 根據(jù)權(quán)利要求1所述方法,其特征在于,所述解析包括 解析前臺展現(xiàn)的數(shù)據(jù),即解析數(shù)據(jù)形式或展現(xiàn)名稱;解析后臺數(shù)據(jù),把需要的信息在后臺中隱藏起來,以備傳遞數(shù)據(jù)。
3. 根據(jù)權(quán)利要求1所述方法,其特征在于,所述文件系統(tǒng)結(jié)構(gòu)包括本機(jī)磁盤、我的電腦 和網(wǎng)絡(luò)鄰居的相關(guān)信息。
4. 根據(jù)權(quán)利要求l、2或3所述方法,其特征在于,在Eclipse環(huán)境中,具體步驟為 通過類javax. swing, filechooser. FileSystemView獲取本機(jī)文件系統(tǒng)結(jié)構(gòu); 獲取文件并進(jìn)行判斷;當(dāng)所述文件是目錄,通過類javax. swing, f ilechooser. FileSystemView獲取并存儲 所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;當(dāng)所述文件為非目錄,則舍棄所述文件;使用類org. eclipse, ui. dialogs. ContainerCheckedTreeViewer對所述目錄層次結(jié) 構(gòu)進(jìn)行解析;形成具備復(fù)選框功能的和所述目錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹;將所述結(jié)構(gòu)樹結(jié)合類org. eclipse, jface. dialogs. Dialog封裝形成多選目錄框。
5. —種跨平臺的自由整合式開發(fā)環(huán)境中實(shí)現(xiàn)目錄多選框的裝置,其特征在于,包括, 系統(tǒng)結(jié)構(gòu)獲取組件;用于獲取本機(jī)文件系統(tǒng)結(jié)構(gòu);文件目錄判斷組件;用于獲取文件并判斷所述文件是否為目錄;文件目錄存儲組件,用于當(dāng)所述文件是目錄時(shí),獲取并存儲存儲所述目錄的層次結(jié)構(gòu) 信息和圖標(biāo)信息;當(dāng)所述文件為非目錄時(shí),則舍棄所述文件;目錄解析組件;用于對所述目錄層次結(jié)構(gòu)進(jìn)行解析,形成具備復(fù)選框功能的和本機(jī)目 錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹;多選框封裝組件;用于將所述結(jié)構(gòu)樹封裝形成多選目錄框。
6. 根據(jù)權(quán)利要求5所述裝置,其特征在于,所述目錄解析組件包括 解析前臺組件;用于解析前臺展現(xiàn)的數(shù)據(jù),即解析數(shù)據(jù)形式或展現(xiàn)名稱; 解析后臺組件;用于解析后臺數(shù)據(jù),把需要的信息在后臺中隱藏起來,以備傳遞數(shù)據(jù)。
7. 根據(jù)權(quán)利要求5所述裝置,其特征在于,所述文件系統(tǒng)結(jié)構(gòu)包括本機(jī)磁盤、我的電腦 和網(wǎng)絡(luò)鄰居的相關(guān)信息。
8. 根據(jù)權(quán)利要求5、6或7所述裝置,其特征在于,在Eclipse環(huán)境中,包括組件 系統(tǒng)結(jié)構(gòu)獲取組件,用于通過類javax. swing, filechooser. FileSystemView獲取本機(jī)文件系統(tǒng)結(jié)構(gòu);文件目錄判斷組件;用于獲取文件并判斷所述文件是否為目錄;文件目錄存儲組件,用于當(dāng)所述文件是目錄時(shí),通過類javax. swing, filechooser. FileSystemView獲取所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;當(dāng)所述文件為非目錄時(shí),舍棄 所述文件;目錄存儲組件,用于存儲所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;目錄角率析組件,用于使用類org. eclipse, ui. dialogs. ContainerCheckedTreeViewer 對所述目錄層次結(jié)構(gòu)進(jìn)行解析;形成具備復(fù)選框功能的和所述目錄層次結(jié)構(gòu)相同的結(jié)構(gòu) 樹;多選框封裝組件,用于將所述結(jié)構(gòu)樹結(jié)合類org. eclipse, jface. dialogs. Dialog封 裝形成多選目錄框。
全文摘要
本發(fā)明實(shí)施例公開了一種跨平臺的自由整合式開發(fā)環(huán)境中實(shí)現(xiàn)目錄多選框的方法及裝置,包括步驟獲取本機(jī)文件系統(tǒng)結(jié)構(gòu);對所述文件進(jìn)行判斷;如果所述文件是目錄,獲取所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;如果所述文件為非目錄,則舍棄所述文件;存儲所述目錄的層次結(jié)構(gòu)信息和圖標(biāo)信息;對所述目錄層次結(jié)構(gòu)進(jìn)行解析,形成具備復(fù)選框功能的和本機(jī)目錄層次結(jié)構(gòu)相同的結(jié)構(gòu)樹;將所述結(jié)構(gòu)樹封裝形成多選目錄框。通過本發(fā)明實(shí)施例中的技術(shù)方案使得每一次使用目錄對話框就能選擇所需的多個(gè)目錄的狀況,顯著地減少了用戶操作的繁瑣程度,提高了需要多選目錄程序的使用效率。
文檔編號G06F9/44GK101719066SQ20091025986
公開日2010年6月2日 申請日期2009年12月16日 優(yōu)先權(quán)日2009年12月16日
發(fā)明者劉江寧, 段文良, 韓敏, 高軍 申請人:山東中創(chuàng)軟件商用中間件股份有限公司