專利名稱:可分java小程序的制作方法
技術領域:
本發明涉及計算機軟件領域,更具體地說,本發明涉及小程序(applet)以及它們與操作環境之間的關系。
像瀏覽器這樣的應用程序的近期版本提供使用與平臺無關的小程序,它們可以作為預編譯Java字節碼(中間級指令)下載。瀏覽器的例子有網景公司的Navigator 3.0TM或Hot JavaTM(SunMicrosystems的一種產品,Sun圖標和Hot Java是SunMicrosystems公司在美國和其它國家的注冊商標)。這些小程序通過一個“虛擬機”執行。虛擬機是一種特定平臺環境,它解釋或編譯小程序代碼,并在其中執行高級指令。一種流行的、占統治地位的小程序編程語言是由Sun Microsystems開發的“JavaTM”(SunMicrosystems的一種產品,Sun圖標和Hot Java是SunMicrosystems公司在美國和其它國家的注冊商標)。用Java或其少數變種編程的小程序稱為Java小程序。
Java小程序的關鍵用處在于,它們是與平臺無關的,亦即為平臺A編寫的一個Java小程序不需修改而能運行在B平臺上,只要A和B兩個平臺都有能為它們各自的平臺執行小程序代碼的虛擬機。雖然Java小程序是與平臺無關的,但是啟動它們的應用程序的特征、變異和限制使這些小程序基本上成為與應用程序有關的,從而削弱了小程序的靈活性。例如,Java小程序在從網景公司的領航員(Navigator)的Sun操作系統版本的HTML(超文本標識語言)代碼中調用時的一個限制是,當小程序被調用時,為該調用的HTML標簽必須包括高度和寬度,由此定義一個該小程序在其內運行的窗口尺寸。當在應用程序窗口內運行時,小程序受所述高度和寬度標簽限制,從而任何為該小程序產生的輸出、輸入、對話框或彈出式窗口必須出現在該限制范圍內。
在這種情況下,當小程序窗口是應用程序窗口的一個“子窗口”時,小程序窗口遭受幾種障礙。首先,小程序窗口不能關閉,除非應用程序退出,或者直到應用程序轉移到從一個新主機接收數據(從啟動(生成)所述小程序的同一窗口)。伴隨這一限制,當啟動小程序的應用程序轉移到一個新的URL(統一資源定位器一由應用程序訪問的主機“地址”)時,則小程序窗口關閉,小程序停止執行。用戶不能控制小程序停止執行。在一些情況下,即使應用程序已經轉移到不同的URL,仍希望繼續運行小程序。例如,用戶可能希望一個從URL A啟動的、來自一個外部或者外地源播放內容的流式音頻小程序繼續播放,即使應用程序已轉移到不具有同一小程序的URL B。在現在的實踐中,必需打開或啟動該應用程序的一個新的事件(亦即打開一個新的應用程序窗口)從URL B接收內容,以便使其它應用程序事件繼續執行音頻小程序。但是這一方法有幾個缺點。
首先,啟動一個新的應用程序事件可能增加存儲器和系統資源的使用,它可能降低小程序和新應用程序事件的性能。另外,仍然不能從應用程序的限制或環境的外部控制小程序。事實上,隨著第二應用程序窗口(事件)的啟動,在小程序可以被控制之前,第一窗口必須成為活動的(在前臺,在光標或鼠標的控制下)。另外,常規小程序模型不允許小程序窗口在操作環境中圖標化(窗口最小化)。在現在的實踐中,為使小程序最小和變為圖標,應用程序窗口自身必須最小化。在這種情況下,小程序不具有自己的圖標,而是繼承瀏覽器的圖標。窗口不能最小化、不能重新定義大小以及不能進行其它GUI的修改,例如改變字型、背景顏色等,將給小程序以嚴重的限制,很難不受應用程序的限制而獨立控制。
消除應用程序對可執行代碼模塊依賴的一種解決方法是使用“插入程序”。然而,不像在特定環境/平臺下運行的“插入程序”(包含數據/代碼的文件,用于改變、增強或擴展父應用的操作)一樣,Java小程序基本上是與平臺無關的。插入程序必須下載(或與應用程序打包),允許某些也許應用程序內部不支持的文件類型(例如ShockWaveTM或RealAudioTM)在本地平臺上被解釋和輸出。然而,插入程序不像應用駐留的Java虛擬機,它駐留在本地,而且必須存儲在本地磁盤中以備重新使用,這是它的缺點。重要的是,插入程序啟動進程完全獨立于瀏覽器,從而是依賴于平臺的。于是,雖然插入程序可能允許GUI獨立地控制它們的窗口,但是它們不像Java小程序,完全不從瀏覽器繼承(因為它們不需要虛擬機運行)。運行一個插入程序類似于通過操作環境運行一個單獨的應用程序,因此它不像Java小程序,對便于移動的可執行性不是一個可行的代用方案。
用于增強一種諸如瀏覽器的應用程序的能力的另一個發展是使用“幫助者”(“helper”)應用程序。幫助者應用程序存儲在本地,它不具有Java小程序的便移動性和對平臺的獨立性,亦即在奔騰平臺上的一個幫助者應用程序不能用在Sun SparcTM(Sun Microsystems的一種產品,Sun圖標和Sparc是Sun Microsystems公司在美國和其它國家的注冊商標)系統上,反之亦然。幫助者應用程序還在操作環境內啟動一個新進程/線程,并命令一個新應用程序事件的系統資源,這一點不像Java小程序。幫助者應用程序與交付待處理的數據的應用程序無關,僅通過操作環境被調用。幫助者應用程序不能插入,即不在應用程序的虛擬機內執行。另外,幫助者應用程序不易從主機轉移到客戶機,因為幫助者應用程序與小程序相比代碼尺寸相當大。
另外,在諸如網絡計算機(NCs)的更新的信息設備中,幫助者應用程序和插入程序由于有限的操作環境特征和缺乏本地存儲器甚至不能工作。NC在概念上說來是基于使用遠端存儲的小程序,例如在網絡上分布的Java小程序來對NC提供應用程序和內容。相比起來,NC的當前工業標準保證NC通過使用虛擬機和瀏覽器/應用程序能夠執行Java小程序。即使在NC情況下,也希望這些小程序具有它們自己與調用它們的瀏覽器/應用程序分開的嵌入式功能。
因此,需要有一種方法和裝置把Java小程序從應用程序的限制中分開,以便它們可以通過操作環境直接由GUI控制,以及它們不由啟動它們的應用程序的狀態而限制。
本發明公開了一種方法和系統,用于把Java小程序從提供執行這些小程序的Java虛擬機的應用程序的限制中分開。從而分開的小程序可以出現在一個分開的窗口中,更易于由操作環境桌面控制。Java小程序繼續在應用程序的虛擬機之下運行,但是比所述應用程序的圖形接口限制少。另外,如果啟動小程序的應用程序轉移到一個新的URL主機,Java小程序繼續運行。此外,小程序一旦分開后,可以重新連接到應用程序而出現在該應用程序的歷史中。
圖1是根據本發明的一個實施例的流程圖,它變換一個不可分Java小程序使其具有可分功能。
圖2表示當根據本發明的一個實施例從一個應用程序中啟動一個小程序時,該小程序行為的流程圖。
圖3是為Java小程序定義的繼承層次結構例子的圖。
圖4表示在顯示器屏幕上顯示的分開的小程序。
圖5表示在連接狀態的一個小程序“Jukebox(自動電唱機)”。
圖6表示根據本發明的一個實施例分開一個小程序的流程圖。
圖7表示根據本發明的一個實施例連接一個小程序的流程圖。
定義“操作環境”一詞指操作系統、內核、外殼等低層軟件,它們安排任務日程、分配存儲器、處理對外設硬件的接口和在無應用程序運行時為用戶提供一個默認接口。操作環境還通過執行應用程序可能由其可執行代碼要求的存儲器分配、輸入/輸出等來允許該應用程序運行。
“桌面”一詞指其中操作環境允許用戶與操作環境對話的虛擬環境(通常是在顯示器上的輸出)。桌面包括但不限于顯示器和使用作為操作環境功能的圖標、光標、窗口、對話框、菜單以及其它用戶接口元件。桌面是一個虛擬繪制的屏幕區域,其中應用程序窗口及其相關的輸入/輸出可以顯示,希望的話也可與用戶對話。
該詳述中使用的“方法”一詞指得是與一類或者多個類相關的一種功能調用、過程或者子例程,類在面向對象的編程技術中眾所周知。
“可分”一詞指得是小程序脫離由啟動它的應用程序加在其上的GUI限制的能力。“可分性”一詞指得是小程序在圖形用戶接口意義下能與啟動它的應用程序分開而操作,并代之以在桌面上被操作而與操作環境直接對話。
“虛擬機”一詞指得是一種解釋程序、編譯程序、鏈接程序等,它包含在一個應用程序或者操作環境中以使一個特定的編程語言例如Java的指令、偽代碼等的執行變得方便。
圖1是根據本發明的一個實施例的流程圖,它變換一個不可分Java小程序使其具有可分功能。
任何預先存在的Java小程序都可以修改為一個可分的Java小程序,這里可分是相對本發明的各種實施例而言的。當定義/創建一個小程序時,可以修改其源代碼以包括用于分開該小程序的方法。第一步是在該小程序的類定義上加一個“實現可分”的語句(步驟110)。它實現一個稱作“可分”的接口。附錄A,為流式音頻小程序Jukebox的Java源代碼,在第二列顯示類定義“public class Jukeboxextends Applet implements Detachable.(公用類Jukebox擴展小程序實現可分)”。短語“public class<Applet Name>extendsApplet(公用類<小程序名>擴展小程序)”為在主類定義中的所有小程序共用。然后短語“implements Detachable(實現可分)”可附加在任何這樣的定義后面開始修改<小程序名>的小程序以變為可分。還需要幾個步驟來完成小程序可分性的建立。通過類定義激發的可分接口通過在該小程序的源代碼上增加幾個一般“方法”(見上面的定義)實現(步驟120)。這些方法雖然相對于可分接口是一般的,但是對本發明來說是特定的和唯一的,因為這些方法在Java開發的技術中先前未被定義。
一般方法(generic method)允許Java小程序從啟動它的應用程序中分出來,并允許該小程序具有任何運行在操作環境(例如SolarisTM,Sun Microsystems的一種產品,Solaris是SunMicrosystems公司在美國和其它國家的注冊商標)桌面上的普通應用程序窗口的功能。如果一般方法對特定小程序的“視像感覺”不適合(在步驟130檢驗),則可以修改這些方法。一般方法可以修改以包括適合于該小程序的視像感覺或者特色的接口能力(步驟140)。例如,可能希望在一個可分的“對話”(以文字為基礎的用戶之間的交談)小程序中在該對話窗口重定義自身大小時顯示未重定義大小時不可見的長字符串。本領域的普通技術人員可以修改下面定義的方法以適合變換為一個可分小程序的小程序。下面敘述的一種這樣的修改是“控制器”方法的附加。如參照步驟120所述,這些一般方法加在在附錄A中公開的Jukebox小程序的例子的代碼上。
一般可分接口方法及其修改1.“Detach”(分開)(在附錄A中表示為“public void detach(){”)分開方法是允許小程序從應用程序分開的基本功能調用。狀態變量“被分開”(“isDetached”)設為真,指示小程序現在處于與連接狀態相對的分開狀態。語句“remove(UIpanel)”負責清除包括諸如用戶接口元件(亦即按鈕、文字框、菜單,圖標等)的部件的用戶接口“面板”。面板UIpanel被清除并交給作為例示的“被分開框”類。“被分開框”(“Detached Frame”)類是一個基于標準Java虛擬機的與平臺無關的示例,因此可用于所有Java平臺。附錄B中表示了為被分開框類的代碼。被分開框被作為示例說明產生一個分開的窗口(與應用程序獨立的小程序窗口),可以在其中顯示UIpanel部件(用戶接口元件)。語句“controller.makeAttachable(),”是修改一般分開方法的一個例子,它是Jukebox小程序的一個特定方法,用于創建一個用戶接口元件把小程序連回到應用程序上。
2.“Attach”(連接)(在附錄A中表示為“public void attach(){”連接方法用于把小程序重新連回應用程序和關閉駐留在應用程序窗口外面的分開的窗口。通過將isDetached設定為假,使小程序的狀態返回到連接狀態。接著,清除被分開框對象。然后把UIpanel部件加回到應用程序中(add(UIpanel)語句)。作為對一般方法Attach的小程序特定(在此例中為Jukebox小程序)的修改的例子是controller.makeDetachable語句,它在被包含時為將小程序分開而提供用戶接口元件。
3.close(關閉)(在附錄A中表示為“public void close()”)關閉方法清除被分開框窗口,通常是小程序其后不再重新連回應用程序的被分開框窗口。這一方法在希望完全清除小程序時很有用。
這些一般方法在加在小程序上實現可分接口時,將使一個不可分小程序變得可分(具有從應用程序窗口分開的功能)。
圖2表示根據本發明的一個實施例,從一個應用程序中啟動一個小程序時,該小程序行為的流程圖。
雖然圖2是針對從一個應用程序的分開,但其思想方法同樣可應用于從任何通過虛擬機執行小程序代碼的環境分開小程序。
首先,根據步驟210,小程序必須在應用程序的虛擬機中啟動。當用戶訪問包含啟動該小程序的語句的Web(萬維網)站點(HTML頁面)時,這通常是自動實現的。假定該小程序已經按照圖1的方法經過變換,或者如果該小程序已經能分開,則虛擬機檢驗(等待)用戶激活一個諸如按鈕的用戶元件來把該小程序從應用程序中分開(在步驟220檢驗)。如果用戶激活“detach”用戶接口元件,那么該環境調用“Detach”方法(步驟230)。
例如,如上所述,“Detach”方法的調用將導致其它指令的執行。這些指令的一個關鍵結果是顯示一個分開的窗口,在其中可以顯示該小程序的控制或數據(步驟240)。一旦顯示器已顯示分開的窗口,則連續進行兩種檢驗。第一種是檢驗用戶是否改變分開的窗口的屬性(諸如大小、背景等)(步驟255)。該步驟不是從應用程序中執行的檢驗,而是由操作環境自身執行的檢驗。如果要求改變被分開的窗口的某一屬性,則操作環境初始化并實現這些改變的屬性(步驟250)。這些改變包括重新定義分開的窗口大小、改變窗口的字體以及因為被分開的窗口既然是操作環境的一個窗口,因而可以不用參考和改變應用程序窗口而執行最小化和圖標化。另外,在分開的窗口中的小程序不再受應用程序限制,而具有它自己的一組與應用程序分開的圖形屬性--顏色、背景、字體、大小等。桌面可以控制分開的窗口的視像感覺,從而在一定程度上也可控制小程序的視像感覺。
所做的第二種檢驗是詢問用戶是否激活用戶接口元件把該小程序連回到應用程序(步驟260)。一旦小程序處于被分開框,則用于分開的用戶接口元件(按鈕等)將由用于將該小程序連回到應用程序的一個用戶接口元件取代。用戶對將該小程序連接到應用程序的請求首先引起“Attach”方法被調用(步驟270)。Attach方法包括如上所述的幾條指令,但具有關閉分開的窗口(步驟280)并將其從操作環境清除的基本功能。然后將小程序重新繪制在應用程序窗口,就像在啟動時一樣,保持不是被分開的視像感覺,而回到啟動小程序時的應用程序的視像感覺。小程序在被重新繪制在應用程序中時,將以用于分開的用戶接口元件替換用于連接的用戶接口元件。從而,小程序可以在用戶希望時從連接狀態切換到分開狀態。圖2中未示出的是這種情況,即應用程序在小程序被連接之前轉移到一個新的主機。在這種情況下,小程序不是被重新繪制在應用程序窗口,而是成為該應用程序的“歷史”的一部分。歷史是先前訪問的URL的一個紀錄,以便該應用程序的用戶可以再次返回到那些URL站點。
圖3表示為Java小程序定義的繼承層次結構例子的圖。
從對象或類繼承觀點來看為本發明的各種實施例有兩組繼承樹。第一組在圖3右側示出,為一般Java小程序繼承層次結構。對象310被繼承到部件320中。部件320(因此包括對象310)被繼承到容器330中。容器330被繼承到面板340中。最后,面板340被繼承到小程序350中。
圖3所示的第二組繼承是由被分開框的繼承產生的層次結構。這一層次結構是相對于本發明的各種實施例敘述的分開一個小程序的方法的表示。
類似一般小程序繼承層次結構,圖3左側的被分開框繼承層次結構示出對象315被繼承到部件325。類似地,部件325被繼承到容器335。圖3表示這兩種繼承在直到和包含容器這一級是相同的。因此,這些層次結構在容器335和330處可以連接。繼承層次結構的連接在概念上是面向對象的一種機制,它允許小程序350從應用程序窗口轉移到被分開框,因為兩者都是容器類的事件。熟悉對象編程技術的技術人員能容易地使用上述被連接的對象層次結構的屬性實現本發明的各種實施例。
圖4表示在顯示器的屏幕上顯示的最終分開的小程序。
圖4表示一個顯示器400,它可以是通過操作環境顯示一個應用程序窗口410的任何監視器、顯示器或其它視像設備。應用程序窗口410表示為一個包括幾種元件例如圖片和URL(統一資源定位)(標以“location”)的應用程序窗口,但也可以是運行在操作環境下的任何窗口或顯示環境。顯示400表示運行在操作環境桌面430(見上面“桌面”的定義)上面的應用程序窗口410。操作環境桌面430和應用程序窗口410可以更接近或緊密結合,就像在Hot JavaviewsTM中那樣(Sun Microsystems公司的一種產品,Sun圖標和HotJava Views是Sun Microsystems公司在美國和其它國家的注冊商標)。可以修改本發明為去除應用程序窗口任何遺留的視像和用戶接口限制,它們可能限制一個小程序,盡管可能似乎緊密地把應用程序和環境結合在一起。在這個意義上,圖4在分開的窗口420上表示了一個叫作“Jukebox”的小程序,該小程序在某個URL站點啟動,最初包含在應用程序窗口410中(見圖5)。圖4表示Jukebox小程序分開的狀態。
在這一分開的狀態下,小程序控制功能“About”、“Stop”和“Play”顯示在分開的窗口中。本發明的一個重要方面是小程序在窗口顯示在410中的應用程序的虛擬機(解釋程序)中連續運行或執行其指令的能力。操作環境及其桌面430現在控制Jukebox小程序的窗口的總視像感覺。然后分開的窗口可以像桌面上的任何窗口一樣操作。應用程序窗口410和該應用程序的接口屬性不再控制、制約和限制小程序的GUI特性。另外,當應用程序窗口410轉移到一個新主機的URL時,該小程序繼續在被分開框內運行。雖然虛擬機是依賴于平臺的,亦即必須分解Java代碼為處理器/平臺的本地代碼,但是Java小程序及其代碼是與平臺無關的。當應用程序完全關閉它所有的窗口時,分開的小程序也即關閉,因其應該關閉。另外,盡管小程序被分開,它也必須停止執行,因為它不再從應用程序曾接觸的主機獲取數據。于是應用程序保持在結束自己時同時結束小程序的控制,即使該小程序從應用程序窗口的窗口和接口限制中分開。
在被分開狀態,還有其他幾種適用于被分開窗口的GUI修改未明確敘述。首先,不像常規的小程序,被分開的窗口420可以在桌面430上的一個區域縮為圖標,或最小化為一個工具條或其它GUI元件而不必將應用程序窗口縮為圖標。從而最小化的小程序可以具有它自己的圖標。另外,被分開的窗口420可以在桌面上重新定義大小,在分開的狀態下不必參考在HTML(超文本標記語言)或其它指定從應用程序窗口410之內對該小程序調用的文件中的高度-寬度標簽。這允許被分開的小程序的外表比不可分的小程序具有更大的靈活性。其它對運行在桌面430上其它窗口適用的修改,諸如字體、字符大小、顏色、背景等的改變也適用于被分開的窗口420及其顯示的小程序。
除對Jukebox小程序的控制之外,被分開的窗口420還包括顯示稱為“Attach”的“控制”(一個用戶接口元件),它在被激活時關閉被分開的窗口420并將該小程序回收到應用程序窗口410中。這種“連接的”狀態表示在圖5。如果應用程序窗口轉移到一個新主機的URL,那么該小程序被包括在該應用程序的歷史中而不是在應用程序窗口中立即執行圖5表示處于連接狀態下的“Jukebox”小程序。
圖5也有一個顯示設備500、一個操作環境桌面530和一個應用程序窗口510。當一個小程序處在連接狀態時,應用程序窗口510限制它。然而,如果該小程序成為可分的,則在應用程序窗口的小程序的面板中顯示一個“分開”(“detach”)控制(按鈕),以便將該連接狀態修改為被分開的狀態,產生如圖4所示的一個分開的窗口。另外的方案為,小程序可以自動啟動為如圖4所示的具有連接控制的被分開的狀態。也可以提供一種“觸發”方法來觸發小程序的狀態,不管當前狀態是什么。這一觸發可以由一用戶接口元件在該小程序處于分開狀態時在分開窗口中啟動,也可以在該小程序處于連接狀態時在小程序面板(在應用程序窗口中)啟動。在連接和分開兩種狀態下都希望一個統一的控制時也許希望這種反轉方法。圖5所示的連接狀態不像現有技術,因為所示小程序通過“分開控制”是“可分的”。無可分性的小程序將局限于應用程序自身,用戶便于在應用程序窗口510中改變小程序面板550的顯示屬性。處于連接狀態下的一個可分小程序遭受同樣的限制,但可以通過激活“Detach”釋放出來。圖5的小程序的連接狀態保證在從一個“被分開的”狀態(圖4中所示)重新連接之前應用程序窗口510的主機URL不改變。
圖6表示根據本發明的一個實施例分開一個小程序的流程圖。
上面相對于代碼附錄A敘述的“Detach”的方法定義并未全部在圖6中表示,但是本技術領域的技術人員將能理解,從本方法定義顯示的另外的或省略的步驟很容易實現。
分開的第一步是例示一個稱為被分開框(Detached Frame)的新框(見圖1分開方法的說明)(步驟610)。然后使用該新框作為小程序的數據、內容和用戶接口元件/控制的落點(drop-offpoint)。接著,把小程序部件從應用程序的小程序面板清除(步驟620)。這些部件是一些對象,包括但不限于按鈕、控制、用戶接口元件、動作消息、對話框、數據等,它們可能由顯示設備顯示。然后把這些小程序部件加在所述新框的用戶接口上(步驟630)。另外,除其它部件外,把一個“Attach”用戶接口元件加在新框上,以便小程序可以重新連接到應用程序(步驟640)。接著,通過將該新框映射或顯示在顯示設備上來生成分開的窗口(步驟645)。在處理過程的這一步,分開的窗口是一個能在操作環境的桌面環境之內接合的空白窗口。如在本發明的各種實施例中實現的那樣,被分開的窗口將繼承連接在應用程序窗口中的小程序面板的大小、字形、顏色特征(步驟655)。最后,包括連接控制的部件使用“Paint All”Java方法繪制在屏幕上(步驟660)。“Paint All”在Java編程中熟知,用于在顯示器或操作環境中顯示對象,而不是在應用程序窗口的一部分顯示。這保證為被分開的小程序的部件被適當顯示,亦即不會與其它屏幕圖形交織在一起顯示,或從視圖中隱藏。
圖7表示根據本發明的一個實施例,連接一個小程序的流程圖。
再次說明,雖然圖7的流程圖可能由前面敘述的“Attach”方法改變,但是熟悉本技術領域的人員能夠很容易將上述方法的特征交換/增加到圖7的流程圖中,反之亦然。
當連接控制被激活時,首先從虛擬機環境中清除通過調用分開方法例示的新框(步驟710)。從應用程序環境清除的部件加回到應用程序,并自動顯示在其中的面板中,如同一個典型的Java小程序一樣(步驟720)。接著,被分開的窗口被關閉(步驟730)或從操作環境中清除。最后,可以允許收集存儲器垃圾和存儲器的重分配(步驟740)以便使由分開方法例示的被分開框使用的資源重新返回到操作環境。
雖然本發明特別參考各種
,但是應該理解,這些附圖只用來說明,而不應該把它們作為對本發明范圍的限制。本技術領域的技術人員可以在不離開本發明的精神和范圍下對本發明進行許多改變和修改。
權利要求
1.一種處理方法,包括步驟有實現一個可分接口;以及修改一個不可分小程序使其成為一個可分的小程序。
2.根據權利要求1的處理方法,其特征在于,實現步驟包括步驟修改所述不可分小程序的類定義為包括一個可分接口。
3.根據權利要求2的處理方法,其特征在于,修改步驟包括步驟為實現所述可分接口增加一組一般方法。
4.根據權利要求3的處理方法,其特征在于,進一步包括步驟修改所述一般方法的任何一個以適合所希望的所述可分小程序的視像感覺。
5.根據權利要求3的處理方法,其特征在于,所述增加的步驟包括步驟增加用于將所述可分小程序置于一個可分狀態的第一方法;增加用于將處于被分開狀態的所述可分小程序置回到連接狀態的第二方法。
6.根據權利要求5的處理方法,其特征在于,進一步包括步驟增加用于在所述狀態之間進行觸發的第三方法。
7.根據權利要求5的處理方法,其特征在于,進一步包括步驟增加完全清除處于分開狀態的所述可分小程序的第四方法。
8.控制排除應用程序限制的小程序行為的處理方法,包括的步驟有從所述應用程序分開所述小程序,所述小程序繼續使用所述應用程序的虛擬機以執行小程序指令;顯示一個分開的窗口以可視地顯示所述小程序;使得能修改所述被分開的窗口的視覺特性。
9.根據權利要求8的處理方法,其特征在于,分開步驟包括步驟當所述應用程序在圖形上限制小程序時,激活一個用戶接口元件以將小程序分開;調用分開方法以執行一組與實現所述分開、顯示和使能步驟相一致的指令。
10.根據權利要求8的處理方法,其特征在于,進一步包括將所述小程序連接到所述應用程序的步驟。
11.根據權利要求10的處理方法,其特征在于,連接步驟包括步驟調用一個連接方法;關閉所述被分開的窗口;在所述應用程序中重新繪制所述小程序。
12.根據權利要求9的處理方法,其特征在于,調用分開方法的步驟啟動步驟例示一個新框;從所述應用程序中清除小程序的部件;將所述清除的部件加到所述新框中;將所述被分開的窗口映射到一個顯示設備上;把所述增加的部件繪制到所述顯示設備上,所述繪制發生在所映射的分開的窗口內。
13.用于控制一個小程序的圖形用戶接口系統,包括一個由操作環境定義的桌面;一個作為所述桌面上的覆蓋而可視地顯示的應用程序窗口,所述應用程序窗口在所述小程序處于連接狀態時顯示和在視像上限制所述小程序;一個在所述桌面上直接運行的分開的窗口,所述分開的窗口只在所述小程序處于被分開的狀態時被顯示在所述桌面上,所述分開狀態清除所述小程序在所述應用程序窗口中的視像限制和顯示。
14.根據權利要求13的圖形用戶接口系統,其特征在于,所述分開的窗口包括一個用戶接口元件,用于能夠使所述小程序置于連接狀態。
15.根據權利要求14的圖形用戶接口系統,其特征在于,所述應用程序窗口包括一個用戶接口元件,用于能夠使所述小程序置于分開狀態。
16.根據權利要求14的圖形用戶接口系統,其特征在于,當所述小程序被置于連接狀態時,所述分開的窗口關閉。
17.根據權利要求13的圖形用戶接口系統,其特征在于,所述小程序在連接狀態下被初始啟動。
18.根據權利要求13的圖形用戶接口系統,其特征在于,所述小程序在被分開的狀態下被初始啟動。
19.一種計算機可讀介質,其上存儲有可由一個可由應用程序解釋的小程序代碼,所述小程序包括指令序列,當這些指令序列在被一個處理器執行時引起所述處理器執行下述步驟從所述應用程序分開所述小程序,所述小程序繼續使用所述應用程序的一個虛擬機以便利于所述處理器執行所述指令序列;顯示一個分開的窗口以可視地顯示所述分開的小程序;使能修改所述被分開的窗口的視覺特性。
20.一種計算機軟件產品,具有可由一個應用程序解釋的小程序代碼,所述計算機軟件產品分配給一個處理器,所述小程序代碼包括指令序列,這些指令序列在被所述處理器執行時引起所述處理器執行下述步驟從所述應用程序分開所述小程序,所述小程序繼續使用所述應用程序的一個虛擬機以便利于所述處理器執行所述指令序列;顯示一個分開的窗口以可視地顯示所述分開的小程序;使能修改所述被分開的窗口的視覺特性。
全文摘要
本發明公開了一種用于把Java小程序從提供執行這些小程序的Java核心程序的應用程序,例如一個瀏覽器的限制中分開的方法和系統。從而被分開的小程序可以出現在一個分開的窗口中,更易于由操作環境桌面控制。Java小程序繼續在應用程序的虛擬機中運行,但是不再考慮應用程序的圖形接口限制。另外,如果啟動小程序的應用程序轉移到一個新的URL站點,則Java小程序繼續運行。此外,小程序在被分開后可以重新連接在應用程序而出現在該應用程序的歷史中。
文檔編號G06F9/445GK1208889SQ9811662
公開日1999年2月24日 申請日期1998年7月27日 優先權日1997年7月25日
發明者B·拉扎維, E·哈斯巴格爾 申請人:太陽微系統有限公司