2022年2022年利用JAVA實(shí)現(xiàn)網(wǎng)頁瀏覽器的方法

上傳人:沈*** 文檔編號(hào):119552638 上傳時(shí)間:2022-07-15 格式:PDF 頁數(shù):8 大小:135.68KB
收藏 版權(quán)申訴 舉報(bào) 下載
2022年2022年利用JAVA實(shí)現(xiàn)網(wǎng)頁瀏覽器的方法_第1頁
第1頁 / 共8頁
2022年2022年利用JAVA實(shí)現(xiàn)網(wǎng)頁瀏覽器的方法_第2頁
第2頁 / 共8頁
2022年2022年利用JAVA實(shí)現(xiàn)網(wǎng)頁瀏覽器的方法_第3頁
第3頁 / 共8頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《2022年2022年利用JAVA實(shí)現(xiàn)網(wǎng)頁瀏覽器的方法》由會(huì)員分享,可在線閱讀,更多相關(guān)《2022年2022年利用JAVA實(shí)現(xiàn)網(wǎng)頁瀏覽器的方法(8頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、利用 Java實(shí)現(xiàn)網(wǎng)頁瀏覽器的方法使用 VC,VB 或者 C#的開發(fā)者們對(duì)于在程序里面嵌入一個(gè)網(wǎng)頁來說,那真是小事一樁。但是在 JAVA 里面,卻幾乎是不可能實(shí)現(xiàn)的任務(wù)。JEditorPane雖然說可以打開網(wǎng)頁,但是它那解析速度以及解析質(zhì)量,對(duì)于今天日益復(fù)雜的網(wǎng)頁內(nèi)容來說,就像沒有一樣。今天我們就使用一個(gè)開源的組件(jdic)來實(shí)現(xiàn)在 JAVA 程序里面嵌入網(wǎng)頁的效率。下面言歸正轉(zhuǎn)吧,我們來介紹一下這個(gè)開源的組件,它的名字叫JDIC(JDesktop Integration Components),網(wǎng)址為:https:/ JDK6.0就采納了其中了一些,比如系統(tǒng)欄圖標(biāo)的SystemTray和S

2、ystemIcon,還有代表桌面的Desktop等等,可見這個(gè)API 是挺不錯(cuò)的。由于網(wǎng)頁瀏覽器的特殊性,標(biāo)準(zhǔn)的 JDK 并沒有把它加入進(jìn)來,但是我們一樣可以下載它來使用這個(gè)功能。明顯地,這個(gè)功能是用本地方法實(shí)現(xiàn)的,所以下載完以后,把jdic.dll放到我們的path目錄中,比如system32文件夾下面,然后我們就可以使用它的功能從而增加我們的JAVA程序了。如果你經(jīng)常訪問,或者讀過JavaOne的新聞報(bào)道,你可能聽過Jdesktop Integration Components(JDIC)。這些新的API 終于能讓Java 開發(fā)人員做那些我們?cè)?jīng)羨慕本地同胞們所做的那些事情了。本文將給你一

3、個(gè)有關(guān)JDIC 特性的全面介紹,每一個(gè)特性都帶有一個(gè)小例子,以及要邁出第一步該下載些什么的一個(gè)列表。除了 SaverBeans子項(xiàng)目我們要在第二部分介紹外,我們將試驗(yàn)所有的API JDesktop Integration Components,或 JDIC,是一個(gè)給Java 開發(fā)人員提供通過交差平臺(tái) API 存取本地特性的包羅萬象的項(xiàng)目。該項(xiàng)目由Sun 的 Desktop組啟動(dòng),目的是讓 Java 應(yīng)用能更好地和它們所運(yùn)行的桌面環(huán)境集成。為了能從開發(fā)人員那里得到想要的特性的快速反饋,他們將JDIC 做成了開源項(xiàng)目。盡管目前沒有計(jì)劃,但JDIC 團(tuán)隊(duì)正考慮把 JDIC 的特征加入Java 核心類

4、庫的未來版本中去名師資料總結(jié)-精品資料歡迎下載-名師精心整理-第 1 頁,共 8 頁 -JDIC 分為五個(gè)部分和一個(gè)孵化中的項(xiàng)目:l 桌面:為了打開、編輯和用email郵寄文件來打開桌面程序;l 文件類型:設(shè)置桌面文件類型關(guān)聯(lián);l 瀏覽器:在AWT 畫布上嵌入本地瀏覽器(Internet Explorer或者 Mozilla);l 包裝器:把Java Web Start程序轉(zhuǎn)換成本地安裝程序的命令行工具;l 托盤 API:支持系統(tǒng)托盤圖標(biāo)和彈出式菜單;l SaverBeans:Java 中的系統(tǒng)屏幕保護(hù);桌面組件桌面組件是最簡單和可能是最有用的JDIC 組件了。它專用于基本的桌面服務(wù),如在正確

5、的編輯器里打開一個(gè)文件,新建一封Email,或者把一個(gè)URL 發(fā)送到默認(rèn)的web 瀏覽器。構(gòu)建這些東西需要做很多的工作,但使用起來卻非常容易。如果你想告訴操作系統(tǒng)打開一個(gè) Word文檔,調(diào)用Desktop.open(new File(“resume.doc”);就可以了,就這么簡單。Org.jdesktop.jdic.desktop包只有三個(gè)類:Desktop,Message和DesktopException。Desktop類是靜態(tài)的不能被實(shí)例化。它有幾個(gè)打開、編輯和打印文件的方法。你也能打開一個(gè)新的email和用文本填充它。這就是 Message使用的地方,它能讓你設(shè)置接收人,郵件體,附件,

6、和其他部分。有關(guān) Desktop組件包最好的事就是它用起來是多么地簡單。你不需要注冊(cè)任何特殊的驅(qū)動(dòng)或者修改基于當(dāng)前平臺(tái)的配置。這些東西都已經(jīng)在幕后做好了。只要你的jdic.jar文件名師資料總結(jié)-精品資料歡迎下載-名師精心整理-第 2 頁,共 8 頁 -在你的類路徑中和本地庫在你的庫路徑中(通常你把它和.jar文件放在一起),代碼就可以工作了。下邊是一個(gè)啟動(dòng)一個(gè)瀏覽器的在線例子:以下是代碼片段:import org.jdesktop.jdic.desktop.*;import .*;public class DesktopTest public static void main(String

7、args)throws Exception Desktop.browse(new URL(http:/ 的下一個(gè)核心組件是文件類型包,它用來設(shè)置文件類型關(guān)聯(lián)。這意味著你能告訴操作系統(tǒng)什么文件用什么程序打開,例如總是用Word打開文本文件而不是用寫字板打開。用這個(gè) API 你能查詢、設(shè)置和刪除基于文件擴(kuò)展名和mime類型的文件類型關(guān)聯(lián)。假如那個(gè)文件類型通常是某種操作系統(tǒng)上特有的,檢索關(guān)聯(lián)或者注冊(cè)應(yīng)用本身而不是設(shè)置關(guān)聯(lián)時(shí),這個(gè)API 顯得更為有用。例如,在Windows下,通常的文本文件的關(guān)聯(lián)是調(diào)用在眾所周知的目錄下的notepad.exe。在 Gnome下,它可能調(diào)用/usr/local/bin

8、/gedit。由于這是和系統(tǒng)相關(guān)的,除了把java應(yīng)用綁定到自己文件的類型,設(shè)置關(guān)聯(lián)可能不是非常有用。盡管如此,不管你用它做什么,文件類型組件通過處理注冊(cè)表和MIME 類型數(shù)據(jù)的方式為你處理了所有繁重的工作。下邊是一個(gè)設(shè)置文件關(guān)聯(lián)的簡短的例子:以下是代碼片段:import org.jdesktop.jdic.filetypes.*;import .*;public class FileTypesTest 名師資料總結(jié)-精品資料歡迎下載-名師精心整理-第 3 頁,共 8 頁 -public static void main(String args)throws Exception Action

9、action=new Action(open,C:WINDOWSsystem32 otepad.exe%1);Association assoc=new Association();assoc.addFileExtension(.mchat);assoc.setMimeType(application/mad-chatter);assoc.addAction(action);AssociationService svc=new AssociationService();svc.registerUserAssociation(assoc);Main 方法的前兩行創(chuàng)建了一個(gè)將會(huì)用notepad.e

10、xe打開文件(用%1 代替)的 Action。之后的四行在action和擴(kuò)展名為.mchat的文件之間創(chuàng)建了關(guān)聯(lián)。在過去,大多數(shù)操作系統(tǒng)專門依賴于文件擴(kuò)展名或者所有的元數(shù)據(jù)來確定文件類型。然而在今天,大多數(shù)操作系統(tǒng)傾向于為所有文件設(shè)置MIME,因此,現(xiàn)在開始使用它是有益的。最后兩行實(shí)際上是在系統(tǒng)上注冊(cè)關(guān)聯(lián)。在使用所有的JDIC API時(shí),只要本地庫在你的庫路徑上,讓它工作起來你不需要做任何特別的事情。瀏覽器組件JDIC 的第三個(gè)主要組件是瀏覽器組件。不象前邊的兩個(gè),它們只是讓你存取系統(tǒng)服務(wù),這個(gè)組件給你了一個(gè)真正在圖形應(yīng)用里使用的AWT 器件。以前,你可以使用第三方的嵌入式組件或純java的瀏

11、覽器,但 JDIC 讓你把用戶默認(rèn)的web 瀏覽器嵌入到你的應(yīng)用中,這些為我們創(chuàng)造了很多機(jī)會(huì)?,F(xiàn)在寫一些有全面Web 支持的 RSS 閱讀器變成了可能的事情。由于你不必把本地瀏覽器包含進(jìn)你的應(yīng)用中,下載速度也更快了。瀏覽器組件API 可以讓你訪問幾個(gè)瀏覽器事件以及在歷史記錄上的控制(向前,后退,刷新)。未來修訂的API 版本希望能提供更多存取瀏覽器和任意裝載的文檔的功能。在你的應(yīng)用里使用瀏覽器組件實(shí)在是非常容易:名師資料總結(jié)-精品資料歡迎下載-名師精心整理-第 4 頁,共 8 頁 -以下是代碼片段:import org.jdesktop.jdic.browser.*;import .*;imp

12、ort javax.swing.*;public class BrowserTest public static void main(String args)throws Exception WebBrowser browser=new WebBrowser();browser.setURL(new URL(http:/);JFrame frame=new JFrame(Browser Test);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().add(browser);frame.pack

13、();frame.setSize(500,500);frame.setVisible(true);正如你所看到的那樣,WebBrowser對(duì)象僅僅是一個(gè)你可以把它放入一個(gè)標(biāo)準(zhǔn)的Jframe中的 AWT 組件。Main 方法的第一行創(chuàng)建了一個(gè)新的WebBrowser,第二行設(shè)置了你想顯示的URL。其他的代碼創(chuàng)建了一個(gè)frame,把瀏覽器加入其中,并使得frame可見記住 WebBrowser是個(gè)本地AWT 組件,因此你可能陷入與Swing結(jié)合的困境?;旌纤鼈兊膬蓚€(gè)規(guī)則是1)不要讓 Swing和 AWT 組件重疊和2)在你的菜單上調(diào)用setLightWeightPopupEnabled(false

14、)否則它們將消失在瀏覽器組件后邊。瀏覽器組件將立刻使用用戶的默認(rèn)Web 瀏覽器,它們通常是Internet Explorer或Mozilla。你不能象使用Jrex(http:/jrex.mozdev.org/)那樣把 Mozilla的必須的部分和你的應(yīng)用綁在一起。這種做法可能在Windows上行得通,IE 絕對(duì)是可以的,但在Linux上有更多的問題,因?yàn)樗线叺哪J(rèn)瀏覽器不一定是Mozilla(例如,在KDE 上它可能是Konquorer)。希望這些問題隨著項(xiàng)目的成熟能夠解決,但目前它對(duì)許多項(xiàng)目是很有用的。包裝器組件名師資料總結(jié)-精品資料歡迎下載-名師精心整理-第 5 頁,共 8 頁 -不象其

15、他的JDIC,包裝器模塊不是API,而是把JNLP(Java Web Start)應(yīng)用轉(zhuǎn)換成本地安裝程序(Linux上是 rpms,Solaris上是 pkgs,Windows上是 msis)的一組命令行工具。這不是說象Jsmooth或 JexePack那樣把你的應(yīng)用轉(zhuǎn)換成.exe;它僅僅為Web Start應(yīng)用提供點(diǎn)擊安裝的功能。在程序安裝之后,它將使用JNLP 通過 Internet更新自己,做 Web Start應(yīng)用能做的所有的其他事情。包裝器組件需要J2SE5.0和本地工具。對(duì)Windows而言,你需要安裝Microsoft的MSI SDK。一旦你的環(huán)境建立了起來,就能使用命令行工具j

16、nlp2msi,jnlp2rpm,和jnlp2pkg把你的 Web Start應(yīng)用轉(zhuǎn)換成與平臺(tái)相關(guān)的安裝程序。系統(tǒng)托盤托盤圖標(biāo) API 曾是一個(gè)孵化中項(xiàng)目,但由于 社區(qū)的勤奮努力,它已經(jīng)成熟并把它提升到一個(gè)完全的JDIC 組件的地位。假如你的操作系統(tǒng)有托盤的概念的話,它的目的是在屏幕的右下角創(chuàng)建小程序狀態(tài)圖標(biāo)。實(shí)際上,這種操作系統(tǒng)是指Windows和 Linux。Mac OS X用戶則沒有這個(gè)運(yùn)氣。它也支持彈出菜單和為圖標(biāo)提供自動(dòng)工具提示。象其他JDIC 一樣,系統(tǒng)托盤支持需要本地代碼,但你可以用Java API編碼來使用預(yù)編譯的本地庫。由于這個(gè) API 使用范圍非常小,所以它們只有兩個(gè)類:S

17、ystemTray和 TrayIcon。SystemTray類有一個(gè)靜態(tài)工廠方法用于存取系統(tǒng)的默認(rèn)托盤。TrayIcon讓你把一個(gè)JpopupMenu和 Icon添加到系統(tǒng)托盤的下一個(gè)可用的位置上。最后,調(diào)用SystemTray.getDefaultSystemTray().addTrayIcon()顯示你的彈出菜單。讓我們研究一個(gè)小例子:以下是代碼片段:import org.jdesktop.jdic.tray.*;import java.awt.event.*;import javax.swing.*;名師資料總結(jié)-精品資料歡迎下載-名師精心整理-第 6 頁,共 8 頁 -public c

18、lass SystemTrayTest public static JMenuItem quit;public SystemTrayTest()JPopupMenu menu=new JPopupMenu(My Menu);menu.add(new JMenuItem(Test 1);menu.add(new JMenuItem(Test 2);quit=new JMenuItem(Quit);quit.addActionListener(new ActionListener()public void actionPerformed(ActionEvent evt)System.exit(0)

19、;);menu.add(quit);ImageIcon icon=new ImageIcon(duke.gif);TrayIcon tray_icon=new TrayIcon(icon,System Tray Test!,menu);SystemTray tray=SystemTray.getDefaultSystemTray();tray.addTrayIcon(tray_icon);public static void main(String args)new SystemTrayTest();在 SystemTrayTest構(gòu)造函數(shù)的前邊的幾行我們用三個(gè)菜單項(xiàng)創(chuàng)建了一個(gè)JpopupMe

20、nu。最后一個(gè)是quit,增加了一個(gè)ActionListener用于退出程序?,F(xiàn)在,除了把菜單添加到菜單條上和Jcomponent上外,我們把菜單放進(jìn)了TrayIcon的構(gòu)造函數(shù)里。顯示系統(tǒng)托盤圖標(biāo)的ImageIcon連同工具提示文字也傳進(jìn)了TrayIcon里。最后,我們把TrayIcon添加到默認(rèn)的SystemTray 上,程序就完成了。把tray.jar和 tray.dll分別放到類路徑和庫路徑中(通常是工作路徑)。TrayAPI也支持動(dòng)畫GIF 圖標(biāo)和左鍵動(dòng)作。用這個(gè)API,你就能讓你的應(yīng)用程序在你需要的時(shí)候才顯示在任務(wù)條上。孵化器項(xiàng)目名師資料總結(jié)-精品資料歡迎下載-名師精心整理-第 7

21、 頁,共 8 頁 -從一開始,JDIC 設(shè)計(jì)的目的是積極鼓勵(lì)和開發(fā)新的API。為了方便項(xiàng)目的成長,他們創(chuàng)建了孵化器項(xiàng)目,在那里開發(fā)人員可以提交他們的代碼和試驗(yàn)他們的想法。如果他們的想法不錯(cuò)并實(shí)現(xiàn)成熟,項(xiàng)目就可以提升為一個(gè)完全的JDIC 模塊甚至發(fā)展成為一個(gè)新的項(xiàng)目。SaverBeans SDK我過去保留我最喜愛的API?,F(xiàn)在,JDIC 有一個(gè)主要的孵化器項(xiàng)目:一個(gè)叫做SaverBeans的創(chuàng)建交差平臺(tái)屏保的工具包。象其他 JDIC 一樣,你可以用Java 做全部編碼,讓預(yù)建好的本地庫處理大量的細(xì)節(jié)。該項(xiàng)目由處理回調(diào)的API,一個(gè)用于配置的xml文件,和一個(gè)用平臺(tái)支持文件產(chǎn)生平臺(tái)相關(guān)屏幕保護(hù)可執(zhí)行程序(在 Windows上是.scr,在 Unix 上是 shell腳本)的 Ant 任務(wù)組成。寫一個(gè)屏保要比用其他的API 更復(fù)雜些,因此我把這部分放在本系列中的第二部分加以描述。然而,如果你想立刻開始學(xué)習(xí),你可以下載SDK(https:/ 8 頁,共 8 頁 -

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!