欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

JavaFXWebView的采集開發(fā)方法是什么

本篇內(nèi)容主要講解“JavaFX WebView的采集開發(fā)方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“JavaFX WebView的采集開發(fā)方法是什么”吧!

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的南山網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

背景

最近想做一個桌面版的客戶端,能夠加載連接,獲取源碼等,主要用于快速的獲取網(wǎng)站的欄目,便與爬蟲該欄目下的最新信息。

采用技術(shù)

java 1.8

相關(guān)插件介紹

JavaFX是:

?用于創(chuàng)建和交付桌面應(yīng)用程序的軟件平臺,以及可以在各種設(shè)備上運行的富Internet應(yīng)用程序(RIA)。?一組圖形和媒體包,使開發(fā)人員能夠設(shè)計,創(chuàng)建,測試,調(diào)試和部署在不同平臺上一致運行的富客戶端應(yīng)用程序。

WebView:

使用WebKit HTML技術(shù)的Web組件,可以在JavaFX應(yīng)用程序中嵌入Web頁面。在WebView中運行的JavaScript可以調(diào)用Java API,Java API可以調(diào)用在WebView中運行的JavaScript。JavaFX中添加了對其他HTML5功能的支持,包括Web套接字,Web Worker和Web字體以及打印功能。

JavaFX WebView:

?JavaFX WebView  是一種迷你瀏覽器(也稱為嵌入式瀏覽器),它通過JavaFX  應(yīng)用程序中的API提供Web查看器和完整瀏覽功能  。?此瀏覽器基于  WebKit,這是一個支持HTML5,JavaScript,CSS,DOM渲染和SVG圖形的開源Web瀏覽器引擎。?WebView類是Node類的擴展。?嵌入式瀏覽器從Node類繼承所有字段和方法,因此它具有其所有功能。?它封裝了WebEngine對象,將HTML內(nèi)容合并到應(yīng)用程序的場景中,并提供應(yīng)用效果和轉(zhuǎn)換的屬性和方法。?在WebView對象上調(diào)用的getEngine()方法返回與之關(guān)聯(lián)的Web引擎。?構(gòu)成嵌入式瀏覽器的類位于javafx.scene.web包中。

?WebView 使開發(fā)人員能夠在其Java應(yīng)用程序中實現(xiàn)以下功能:

?從本地或遠(yuǎn)程URL呈現(xiàn)HTML內(nèi)容?支持歷史記錄并提供后退和前進(jìn)導(dǎo)航?重新加載內(nèi)容?將效果應(yīng)用于Web組件?編輯HTML內(nèi)容?執(zhí)行JavaScript命令?執(zhí)行從JavaScript到JavaFX的上行調(diào)用?處理事件

? 除了支持CSS3和ecmascript6(ES6)之外,WebView組件還支持以下HTML5功能:

?DOM3?畫布?媒體播放?表單控件(<input type =“color”>除外)?可編輯的內(nèi)容?歷史維護(hù)?支持<meter>,<progress>,<details>和<summary>標(biāo)簽?SVG?Web套接字?Web Worker?支持使用本國語言編寫的域名

Web引擎:

1.是一個能夠一次管理一個網(wǎng)頁的非可視對象2.通過其API提供基本網(wǎng)頁功能。3.它支持用戶交互,例如導(dǎo)航鏈接和提交HTML表單,但它不直接與用戶交互。4.它加載網(wǎng)頁,創(chuàng)建文檔模型,根據(jù)需要應(yīng)用樣式,并在頁面上運行JavaScript。5.它提供對當(dāng)前頁面的文檔模型的訪問,并允許Java應(yīng)用程序和頁面的JavaScript代碼之間的雙向通信。6.它包裝了一個WebPage對象,該對象提供與本機Webkit核心的交互。

主要代碼介紹:

主界面構(gòu)造:        package org.lc.v1;        import org.lc.v1.component.WebBrowerPane;        import org.lc.v1.handle.AlertEventHandler;        import org.lc.v1.handle.PopupCallback;        import org.lc.v1.html.HtmlChangeListener;        import org.lc.v1.html.WebHistoryVisitListener;        import javafx.application.Application;        import javafx.scene.Scene;        import javafx.scene.control.Tab;        import javafx.scene.web.WebEngine;        import javafx.scene.web.WebHistory;        import javafx.scene.web.WebView;        import javafx.stage.Stage;        public class LCWebBrower extends Application {public void start(Stage stage) throws Exception {	final WebBrowerPane tp = new WebBrowerPane(stage);	stage.setScene(new Scene(tp, 950, 600));		final WebView webView = new WebView();	webView.prefWidthProperty().bind(stage.getScene().widthProperty());	webView.prefHeightProperty().bind(stage.getScene().heightProperty());		final WebEngine webEngine = webView.getEngine();		final WebHistory history = webEngine.getHistory();	history.getEntries().addListener(new WebHistoryVisitListener());	webEngine.getLoadWorker().stateProperty().addListener(new HtmlChangeListener(webEngine));	webEngine.setOnAlert(new AlertEventHandler(tp));	webEngine.setCreatePopupHandler(new PopupCallback(tp));	webEngine.setJavaScriptEnabled(true);	webEngine.executeScript("location.reload(true);");	webEngine.load("加載的地址");		final Tab tab = new Tab();	tab.textProperty().bind(webEngine.titleProperty());	tab.setClosable(false);	tab.setContent(webView);	tp.addTabPage(tab);	stage.show();}public static void main(String[] args) {	launch(args);}}監(jiān)聽也沒加載狀態(tài),獲取源碼、所有連接等。package org.lc.v1.html;import org.w3c.dom.NamedNodeMap;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import javafx.beans.value.ChangeListener;import javafx.beans.value.ObservableValue;import javafx.concurrent.Worker.State;import javafx.scene.web.WebEngine;public class HtmlChangeListener implements ChangeListener<State> {    private WebEngine webEngine;    String html;    public HtmlChangeListener(WebEngine webEngine) {	        this.webEngine = webEngine;    }    public void changed(ObservableValue<? extends State> observable, State oldValue, State newState) {	       	if (newState == State.SUCCEEDED) { 		html = (String) webEngine.executeScript("document.documentElement.outerHTML");		System.out.print("succeeded");	 		NodeList elementBody = webEngine.getDocument().getElementsByTagName("a");				for (int i = 0; i < elementBody.getLength(); i++) {			Node aTag = elementBody.item(i);			String title = ""if (aTag != null) {				title = aTag.getTextContent();			}			NamedNodeMap attributes = aTag.getAttributes();			String href = ""if (attributes != null) {				Node hrefObject = attributes.getNamedItem("href");								if (hrefObject != null)					href = hrefObject.getTextContent();			}			System.out.println(title + "	" + href);		}	}}}

到此,相信大家對“JavaFX WebView的采集開發(fā)方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享題目:JavaFXWebView的采集開發(fā)方法是什么
轉(zhuǎn)載源于:http://aaarwkj.com/article32/gpposc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、定制網(wǎng)站、虛擬主機企業(yè)建站、網(wǎng)站營銷、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
国产精品久久99精品| 欧美日韩在线一区2区| 日木av中文字幕女女同性| 国精品91人妻一区二区| 久久国产精品av在线观看| 尤物视频精品在线观看| 免费在线观看欧美色妇| 亚洲ve中文字幕久久一区二区 | 亚洲97成人在线视频| 国产亚洲高清一区二区| 日韩成人免费观看视频| 国产高清不卡一二三区| 国产亚洲精品久久久闺蜜| 日本av免费观看一区二区| 曰本真人性做爰视频免费| 亚洲一区二区四区乱码在线| 欧美日韩国产这里只有精品| 欧美日韩国产综合在线观看| 大片天天看菲色亚洲黄色| 韩国av高清在线观看| 偷拍福利视频一区二区三区| 三级国产大片在线观看| 四虎精品国产一区二区三区| 欧美亚洲少妇人妻系列| 日韩av在线不卡一区二区| 久久婷婷综合激情亚洲| 美女被男人操国产精品| 亚洲av少妇一区二区成年男人 | 欧美日韩一区二区综合在线视频| 青青草原在线视频观看| 国产精品视频在线播放| 成年人性生活一级视品| 少妇激情一区二区三区免费视频 | 日韩精品视频在线不卡| 最新日韩av一区二区| 久久久偷拍美女撒尿尿| 91女厕偷拍女厕偷拍| 日韩有码中文字幕一区| 国产午夜18久久久| 亚洲欧美国产日韩综合在线| 国产一级二级三级久久|