java jeditorpane 自动换行_JDIC 中利用WebBrowser内置浏览器到java application中 | 学步园...
JDIC簡介:
JDesktop Integration Components (JDIC),是一個開源的項目,目的是構建消除本機應用程序和 Java 等價物之間差距的組件。項目組長是個中國人。該項目是為了使用java建立桌面應用程序而建立的JDIC
單一的 Java API 允許應用程序接進本機操作系統特性,同時保持跨平臺支持。
它目前提供了本機 Web瀏覽器(Internet
Explorer 或 Mozilla) 支持、系統托盤支持、文件擴展集成、應用程序啟動與打印和其他桌面特性。
配置:
開始下載跨平臺(或windows/linux/solaris)JDIC 包,其中包括:
1.jdic.jar:這個 JAR 文件包含進行 JDIC 開發所需的所有 Java 類。它們必須位于類路徑中,以便進行編譯。
2.jdic.dll 和 tray.dll:在 Windows 安裝中,這些文件都要放在 C:\Windows 目錄(或者對應的目錄)中。這些文件包含 jdic.jar 的 Java 方法和本機操作系統方法之間的"橋接"方法。
3.libjdic.so 和 libtray.so:在 Solaris 和 Linux 系統上,這些文件必須放在 LD_LIBRARY_PATH 文件夾中
JDIC 中的第一個組件WebBrowser
JDIC 項目中的第一個組件(也是該項目的最初靈感) 是 WebBrowser,它提供了一條接近操作系統內置瀏覽器的途徑。任何熟悉 Swing 的人都非常清楚,在 Java 應用程序中查看 Web 頁面很困難。例如,現有的 Swing 組件 JEditorPane 就做得很糟糕,只能顯示最簡單的 Web 頁面。如果包含任何 DHTML 腳本,那么請忘記它 —— 現有的 Swing 組件不能顯示它。這讓 Swing 開發人員失去了在應用程序中顯示 HTML 頁面的選擇 —— 由于 Web 在任何桌面應用程序中都是如此之重要(用作幫助頁面和
README 文件),所以這是一個很大的障礙。
特別打擊 Swing 開發人員的一個事實是:現在每臺機器上都有功能齊全的瀏覽器,但它們的應用程序仍然無法使用。每個本機應用程序都能使用內置的瀏覽器(Windows 上的 Internet Explorer 或 Linux 機器上的 Mozilla)。Swing 的功能與易于訪問的解決方案之間的巨大差距促使 WebBrowser 成為 JDIC 項目的一個好起點。
WebBrowser 允許 Swing 應用程序將本機瀏覽器嵌入任何應用程序中。但是需要重點指出的是,WebBrowser 僅僅 是 Web 瀏覽器應用程序的呈現部分。這個組件不包含 Back 按鈕、地址欄、狀態欄,或者任何不屬于應用程序呈現部分的內容。但是,正如稍后將看到的,WebBrowser 包含了允許您實現這些常用的瀏覽器特性的方法。
用jdic開源組件,這種方式有個缺點,不支持firefox,如果把默認瀏覽器設為firefox就會出錯
JDIC瀏覽器組件的使用方法(將網頁在swing界面上顯示):1、 ?將jdic.jar導入類路徑;2、 ?將jdic.dll, IeEmbed.exe拷貝到操作系統的system32目錄下;3、 ?生成java代碼。
例子:利用jdic中的WebBrowser來調用本地html來嵌入百度地圖
MainFrame.java源文件
import java.io.File;
import java.net.URL;
import javax.swing.JFrame;
import org.jdesktop.jdic.browser.BrowserEngineManager;
import org.jdesktop.jdic.browser.IBrowserEngine;
import org.jdesktop.jdic.browser.IWebBrowser;
import org.jdesktop.jdic.browser.WebBrowser;
import org.jdesktop.jdic.browser.WebBrowserEvent;
import org.jdesktop.jdic.browser.WebBrowserListener;
public class MainFrame {
public static IWebBrowser browser;
public MainFrame() {
}
public static void main(String[] args) throws Exception{
BrowserEngineManager bem = BrowserEngineManager.instance();
bem.setActiveEngine(BrowserEngineManager.IE);
IBrowserEngine be = bem.getActiveEngine();
//URL url = new URL("http://www.hao123.com");
URL url = new File("D:/test.htm").toURI().toURL();
//WebBrowser browser1 = new WebBrowser();
browser = be.getWebBrowser();//new WebBrowser();
browser.addWebBrowserListener(new WebBrowserListener() {
public void downloadStarted(WebBrowserEvent event) {
System.out.println("27");
}
public void downloadCompleted(WebBrowserEvent event) {
System.out.println("30");
}
public void downloadProgress(WebBrowserEvent event) {
System.out.println("33");
}
public void downloadError(WebBrowserEvent event) {
System.out.println("36");
}
public void documentCompleted(WebBrowserEvent event) {
System.out.println("39");
browser.executeScript("alert('文檔下載完畢!')");
}
public void titleChange(WebBrowserEvent event) {
System.out.println("43");
}
public void statusTextChange(WebBrowserEvent event) {
System.out.println("46");
}
public void windowClose(WebBrowserEvent webBrowserEvent) {
System.out.println("49");
}
public void initializationCompleted(WebBrowserEvent arg0) {
System.out.println("52");
} });
browser.setURL(url);
JFrame f = new JFrame();
f.setTitle("瀏覽器");
f.setSize(800,600);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//f.getContentPane().add(browser1);
f.getContentPane().add(browser.asComponent());
f.setVisible(true);
}
}
test.htm文件:
酸奶小妹——百度地圖API學習html{height:100%}
body{height:100%;margin:0px;padding:0px}
#milkMap{height:400px;width:600px;border:1px solid blue;}
var map = new BMap.Map("milkMap"); // 創建地圖實例
var point = new BMap.Point(116.404, 39.915); // 創建點坐標
map.centerAndZoom(point, 18); // 初始化地圖,設置中心點坐標和地圖級別
map.setMapType(BMAP_PERSPECTIVE_MAP); //修改地圖類型為3D地圖
map.setCurrentCity("北京市"); //設置當前城市
注:利用jdic中的WebBrowser中的executeScript()方法可在當前窗口打開的HTML中執行JavaScript,如利用JS來設置表單的內容
webBrowser.executeScript("document.getElementById('uname').value='haohappy';document.getElementById('pwd').value='123456';");}
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的java jeditorpane 自动换行_JDIC 中利用WebBrowser内置浏览器到java application中 | 学步园...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 实现set_js 实现JAVA
- 下一篇: java call back_java中