负载的JavaScript内的JFrame或JPanel的

问题描述:

我想加载的JavaScript代码下面的JPanelJFrame。可能吗?负载的JavaScript内的JFrame或JPanel的

<script language="javascript" type="text/javascript" charset="utf-8"> 
//javascript code 
</script> 
+0

Java是JavaScript不 – Sibbo 2012-03-03 18:00:41

+0

的'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

您可以使用第三方库:如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!');"); 
    } 
} 
+0

谢谢。我检查了一下......你能举个例子吗? – 2012-03-03 18:08:08

+0

@JessyJameson我加了如何使用中的HtmlUnit的Java执行JavaScript代码的例子:) – 2012-03-03 18:16:19

+0

非常感谢你 – 2012-03-03 18:23:36

如果你希望你的Swing应用程序中的浏览器功能,你可以检查Lobo,它支持JavaScript了。

Swing组件不支持Javascript代码本身。如果你真的需要整合Javascript和Java,你可以试试Rhino。但请记住:它只是JavaScript语言,不能使用浏览器的API。