I would like to load a the below javascript code to a JPanel
or a JFrame
. Is it possible?
<script language="javascript" type="text/javascript" charset="utf-8">
//javascript code
</script>
I would like to load a the below javascript code to a JPanel
or a JFrame
. Is it possible?
<script language="javascript" type="text/javascript" charset="utf-8">
//javascript code
</script>
Share
Improve this question
edited Mar 3, 2012 at 18:26
Eng.Fouad
118k74 gold badges324 silver badges427 bronze badges
asked Mar 3, 2012 at 17:59
Jessy JamesonJessy Jameson
2072 gold badges6 silver badges15 bronze badges
1
-
The
language
attribute was deprecated in HTML 4. See the HTML 4 documentation. – Andrew Thompson Commented Mar 3, 2012 at 18:13
3 Answers
Reset to default 3You can use third-party libraries: such as HtmlUnit
It has fairly good JavaScript support (which is constantly improving) and is able to work even with quite plex AJAX libraries, simulating either Firefox or Internet Explorer depending on the configuration you want to use.
Example:
import .gargoylesoftware.htmlunit.BrowserVersion;
import .gargoylesoftware.htmlunit.WebClient;
import .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.");
p.executeJavaScript("document.write('Hello World!');");
}
}
If you want browser capability within your Swing app, you could check Lobo, it supports Javascript too.
Swing ponents doesn't support Javascript codes natively. If you really need integrate Javascript and Java, you can try Rhino. But remember: it's javascript language only, you cannot use browser's API.