gpt4 book ai didi

java - 如何使用 HTML 和 CSS 作为 Java 应用程序 GUI?

转载 作者:IT老高 更新时间:2023-10-28 21:00:42 25 4
gpt4 key购买 nike

我想用干净的 GUI 设计新的 Git 客户端。

是否可以在 Java 应用程序中使用 HTML、CSS 和 JavaScript 的强大功能?

我想对模型使用 Java + JGit,对 Controller 使用 Java,对 View 使用 HTML + CSS + JavaScript。

我不想要客户端-服务器模型。我想很好地集成 Java 和 HTML。 DOM 事件会直接向 Java Controller 触发事件​​。这样就可以创建丰富的离线应用程序。

最佳答案

您可以将 Web 浏览器组件嵌入到您的 Java Swing/JavaFX 桌面应用程序中,该应用程序显示使用 HTML5+CSS+JavaScript 构建的 GUI。您可以在 https://jxbrowser-support.teamdev.com/docs/tutorials/cross-desktop-apps.html 上查看描述如何执行此操作的文章。

允许将 Chromium 嵌入 Java 应用程序的 Java Swing/JavaFX 库之一是 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");
}
}

关于java - 如何使用 HTML 和 CSS 作为 Java 应用程序 GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7176981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com