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

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

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

我想将Java + JGit用于模型,将Java用于控制器并将HTML + CSS + JavaScript用于视图。

我不需要客户端-服务器模型。我想很好地集成Java和HTML。DOM事件会将事件直接激发到Java控制器。这样,就有可能创建丰富的离线应用程序。

回答:

您可以将Web浏览器组件嵌入到Java Swing / JavaFX Desktop应用程序中,该应用程序显示使用HTML5 + CSS +

JavaScript构建的GUI。您可以在http://java.dzone.com/articles/htmlcssjavascript-gui-

java-0上看到描述此操作方法的文章。

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");

}

}

以上是 如何使用HTML和CSS作为Java应用程序GUI? 的全部内容, 来源链接: utcz.com/qa/423210.html

回到顶部