如何使用HTML和CSS作为Java应用程序GUI? [英] How to use HTML and CSS as a Java application GUI?

查看:2911
本文介绍了如何使用HTML和CSS作为Java应用程序GUI?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



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

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



我不想要一个客户端 - 服务器模型。我想要很好地集成Java和HTML。 DOM事件会将事件直接触发到Java控制器。

解决方案

您可以将Web浏览器组件嵌入到您的Java Swing / JavaFX桌面显示使用HTML5 + CSS + JavaScript构建的GUI的应用程序。您可以在 http://java.dzone上查看介绍如何执行此操作的文章.com / articles / htmlcssjavascript-gui-java-0



允许将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()){
浏览器浏览器= 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);
}
returnHello!;
}
});
JSValue returnValue = browser.executeJavaScriptAndReturnValue(
MyFunction('Hello JxBrowser!',1 ,2,3,true););
System.out.println(return value =+ returnValue);
}
}
});
browser.loadURL(about:blank);
}
}


I want to design new Git client with a clean GUI.

Is it possible to use the power of HTML, CSS and JavaScript in a java application?

I would like to use Java + JGit for models, Java for controllers and HTML + CSS + JavaScript for views.

I don't want a client-server model. I would like to integrate Java and HTML nicely. A DOM event would fire events directly to a Java controller. This way it would be possible to create rich offline application.

解决方案

You can embed web browser component into your Java Swing/JavaFX Desktop application that displays GUI built with HTML5+CSS+JavaScript. You can see an article that describes how to do this at http://java.dzone.com/articles/htmlcssjavascript-gui-java-0

One of the Java Swing/JavaFX libraries that allows embedding Chromium into Java applications is JxBrowser. Using JxBrowser API you can load any web page and work with its DOM and JavaScript. You can even call Java methods from JavaScript code and vice versa. For example:

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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆