我想设计具有干净 GUI 的新 Git 客户端。
是否可以在 java 应用程序中使用 HTML、CSS 和 JavaScript 的强大功能?
我想使用 Java + JGit 作为模型,Java 作为控制器,HTML + CSS + JavaScript 作为视图。
我不想要客户端-服务器模型。我想很好地集成Java 和HTML。 DOM 事件将直接向 Java 控制器触发事件。这样就可以创建丰富的离线应用程序。
您可以将 Web 浏览器组件嵌入到 Java Swing/JavaFX 桌面应用程序中,该应用程序显示使用 HTML5+CSS+JavaScript 构建的 GUI。您可以在以下位置查看一篇描述如何执行此操作的文章https://jxbrowser-support.teamdev.com/docs/tutorials/cross-desktop-apps.html https://jxbrowser-support.teamdev.com/docs/tutorials/cross-desktop-apps.html
允许将 Chromium 嵌入到 Java 应用程序中的 Java Swing/JavaFX 库之一是浏览器 http://www.teamdev.com/jxbrowser。使用 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");
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)