我想加載的JavaScript代碼下面的JPanel
或JFrame
。可能嗎?負載的JavaScript內的JFrame或JPanel的
<script language="javascript" type="text/javascript" charset="utf-8">
//javascript code
</script>
我想加載的JavaScript代碼下面的JPanel
或JFrame
。可能嗎?負載的JavaScript內的JFrame或JPanel的
<script language="javascript" type="text/javascript" charset="utf-8">
//javascript code
</script>
您可以使用第三方庫:如HtmlUnit
它具有相當不錯的JavaScript的支持(這是不斷提高) 並能夠與相當複雜的AJAX庫甚至工作,模擬 或者Firefox或Internet Explorer,具體取決於您要使用的配置 。
例子:
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class JavaScriptProgram
{
private WebClient webClient;
private HtmlPage currentPage;
public JavaScriptProgram()
{
webClient = new WebClient(BrowserVersion.INTERNET_EXPLORER_8);
webClient.setThrowExceptionOnScriptError(false);
webClient.setJavaScriptEnabled(true);
}
public void visitPage(String url)
{
try
{
currentPage = (HtmlPage) webClient.getPage(url);
}
catch(Exception e)
{
// Cannot get the page
}
}
public void executeJavaScript(String code)
{
currentPage.executeJavaScript(code);
}
public static void main(String[] args)
{
JavaScriptProgram p = new JavaScriptProgram();
p.visitPage("http://www.stackoverflow.com");
p.executeJavaScript("document.write('Hello World!');");
}
}
謝謝。我檢查了一下......你能舉個例子嗎? – 2012-03-03 18:08:08
@JessyJameson我加了如何使用中的HtmlUnit的Java執行JavaScript代碼的例子:) – 2012-03-03 18:16:19
非常感謝你 – 2012-03-03 18:23:36
如果你希望你的Swing應用程序中的瀏覽器功能,你可以檢查Lobo,它支持JavaScript了。
Swing組件不支持Javascript代碼本身。如果你真的需要整合Javascript和Java,你可以試試Rhino。但請記住:它只是JavaScript語言,不能使用瀏覽器的API。
Java是JavaScript不 – Sibbo 2012-03-03 18:00:41
的'language'屬性是在HTML 4.參見[HTML 4文檔】(http://www.w3.org/TR/html4/interact/scripts.html#h-18.2棄用0.1)。 – 2012-03-03 18:13:20