2012-03-03 69 views
1

我想加載的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

回答

3

您可以使用第三方庫:如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

1

如果你希望你的Swing應用程序中的瀏覽器功能,你可以檢查Lobo,它支持JavaScript了。

1

Swing組件不支持Javascript代碼本身。如果你真的需要整合Javascript和Java,你可以試試Rhino。但請記住:它只是JavaScript語言,不能使用瀏覽器的API。