您可以将Web浏览器组件嵌入到Java Swing / JavaFX Desktop应用程序中,该应用程序显示使用HTML5 + CSS +
Javascript构建的GUI。您可以在https://jxbrowser-
support.teamdev.com/docs/tutorials/cross-desktop-
apps.html上看到描述如何执行此 *** 作的文章。
JxBrowser是可将Chromium嵌入Java应用程序的Java Swing
/ JavaFX库之一。使用JxBrowser
API,您可以加载任何网页并使用其DOM和Javascript。您甚至可以从Javascript代码调用Java方法,反之亦然。例如:
import com.teamdev.jxbrowser.chromium.Browser;import com.teamdev.jxbrowser.chromium.JSFunctionCallback;import com.teamdev.jxbrowser.chromium.JSObject;import com.teamdev.jxbrowser.chromium.JSValue;import com.teamdev.jxbrowser.chromium.events.FinishLoadingEvent;import com.teamdev.jxbrowser.chromium.events.LoadAdapter;public class JavascriptJavaSample { public static void main(String[] args) { Browser browser = new Browser(); browser.addLoadListener(new LoadAdapter() { @Override public void onFinishLoadingframe(FinishLoadingEvent event) { if (event.isMainframe()) { Browser browser = event.getBrowser(); JSObject window = (JSObject) browser.executeJavascriptAndReturnValue("window"); window.setProperty("MyFunction", new JSFunctionCallback() { @Override public Object invoke(Object... args) { for (Object arg : args) { System.out.println("arg = " + arg); } return "Hello!"; } }); JSValue returnValue = browser.executeJavascriptAndReturnValue( "MyFunction('Hello JxBrowser!', 1, 2, 3, true);"); System.out.println("return value = " + returnValue); } } }); browser.loadURL("about:blank"); }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)