如何在 JEditorPane 中嵌入 HtmlUnit Web 客户端?
How to embed HtmlUnit web client at JEditorPane?
我知道 JEditorPane 不能很好地呈现网页元素。因此我尝试了 HtmlUnit。但是,我希望将支持 JS 的浏览器嵌入到 JEditorPane 中以查看结果,而 JEditorPane 的 .setPage() 不接受 HTML 页面,而是 URL。我在 Javax 应用程序上。我该如何解决这个问题?
附带说明一下,稍后我需要通过 D3 将视觉数据嵌入到浏览器中。感谢所有给出的建议。
这是我的代码片段:
webclient = new WebClient (BrowserVersion.CHROME);
currentpage = (HtmlPage) webclient.getPage("http://www.whosebug.com");
currentpage.executeJavaScript("document.write('Hello World!');");
jepuser = new JEditorPane();
jepuser.setEditable(false);
try{
jepuser.setPage(currentpage); //<---
jepuser.setContentType("text/html");
jepuser.updateUI();
}
catch(IOException e){
System.err.println(e);
}
spuser = new JScrollPane(jepuser);
spuser.setViewportBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));
spuser.setSize(800, 420);
spuser.setLocation(280, 140);
spuser.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
//spuser.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
spuser.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
add(spuser, BorderLayout.CENTER);
JEditorPane 可以渲染一些基本的HTML(可能是 3.2 左右的版本)
HtmlUnit 是一个主要用于单元测试的无头浏览器
您似乎想在 Java 应用程序中嵌入功能齐全的浏览器。我会推荐尝试 JavaFX - 它有一个基于 WebKit 的本机浏览器控件 - WebView
我知道 JEditorPane 不能很好地呈现网页元素。因此我尝试了 HtmlUnit。但是,我希望将支持 JS 的浏览器嵌入到 JEditorPane 中以查看结果,而 JEditorPane 的 .setPage() 不接受 HTML 页面,而是 URL。我在 Javax 应用程序上。我该如何解决这个问题?
附带说明一下,稍后我需要通过 D3 将视觉数据嵌入到浏览器中。感谢所有给出的建议。
这是我的代码片段:
webclient = new WebClient (BrowserVersion.CHROME);
currentpage = (HtmlPage) webclient.getPage("http://www.whosebug.com");
currentpage.executeJavaScript("document.write('Hello World!');");
jepuser = new JEditorPane();
jepuser.setEditable(false);
try{
jepuser.setPage(currentpage); //<---
jepuser.setContentType("text/html");
jepuser.updateUI();
}
catch(IOException e){
System.err.println(e);
}
spuser = new JScrollPane(jepuser);
spuser.setViewportBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));
spuser.setSize(800, 420);
spuser.setLocation(280, 140);
spuser.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
//spuser.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
spuser.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
add(spuser, BorderLayout.CENTER);
JEditorPane 可以渲染一些基本的HTML(可能是 3.2 左右的版本) HtmlUnit 是一个主要用于单元测试的无头浏览器
您似乎想在 Java 应用程序中嵌入功能齐全的浏览器。我会推荐尝试 JavaFX - 它有一个基于 WebKit 的本机浏览器控件 - WebView