当前位置: 首页 > 面试题库 >

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

濮阳旺
2023-03-14
问题内容

我想用干净的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构建我们的UI。我们不知道我们将如何将我们的代码与JAVA web app合并,并将其连接到MYSQL工作台数据库。我们该从哪里开始?使用HTML/CSS代码应该做些什么。我们是这方面的新手。谢谢

  • 问题内容: 首先,我对专业从事这项工作不感兴趣。我是一名Web开发人员,我的一个同事最近离开了Spotify,他说他将主要在JavaScript中使用SpotifyDesktop应用程序。他说,它使用“ Chrome框架”,并且内部的所有内容都像网络应用程序(HTML / JS / CSS)一样完成。 作为一个从未为Desktop构建任何东西的Web开发人员,这是个好消息。如果我可以使用我已经知道

  • 我想知道关于如何使用Java将HTML和XHTML网页转换为PDF的一些好的教程或逻辑是什么? 还有建议我如何使用Java将html、bootstrap css转换为pdf?

  • 目前,我正在尝试使用和来运行Spring Boot应用程序,在默认情况下作为web应用程序运行,在需要时作为独立的命令行应用程序运行(通过某种命令行参数)。我正在努力弄清楚当提供程序参数时,如何单独将其作为控制台应用程序运行。请给出任何建议。 主类-SpringApplication CommandLineRunner

  • 我一直在尝试为javafx编译和运行这个示例 然后我试着运行这个例子 $java--mode-path"PATH_TO_FX":mods-m hellofx/hellofx。HelloFX 启动层初始化时出错java.nio.file.InvalidPathException:非法字符 所以我认为通往FX的路径是个问题,但事实并非如此。 $java——模块路径src:mods-m hellofx/

  • 我用于处理和文件的一般java代码是: 我必须处理3.0版本的才能使用以下函数: parse-xml-fragment() 预期产出: 谁能提供一个解决方案吗?