如何在JavaFX的WebView中通过JavaScript回调Java的程序

如何在JavaFX的WebView中通过JavaScript回调Java的程序,第1张

在JavaFX的WebView中通过JavaScript回调Java的程序,可以通过JSObjectsetMember的方法来实现。该方法可以通过JavaScript向上层访问Java代码,具体请看一下示例。Java代码先建立一个新的名为“app”的JavaScript对象。该对象哦呢共有一个公共成员,及exit方法。

public class JavaApplication {  

    public void exit() {  

        Platformexit();  

    }  

}

JSObject window = (JSObject) webEngineexecuteScript("window");  

windowsetMember("app", new JavaApplication());

这样之后,你就可以在HTML页面内通过app对象来访问类中的方法:

<a href="" onclick="appexit()">Click here to exit application</a>

这就相当与一个JavaScript和Java之间的桥梁。

JavaFX 有很多的常用颜色 ,可以使用Color英语颜色名称进行调用 ;

比如 ColorRED ; ColorGREEN; ColorBLUE

查看源代码就可以知道有那些具体的颜色了, 在 javafxscenepaintColor的内部类NamedColors 里存了很多颜色 ,可以利用java反射技术读取全部颜色并打印出来

import javalangreflectField;

import javautilMap;

import javautilMapEntry;

import javafxscenepaintColor;

public class ReadColorTest {

public static void main(String[] args) throws Exception {

//获取静态常量namedColors

Field field = ClassforName("javafxscenepaintColor$NamedColors")getDeclaredField("namedColors");

fieldsetAccessible(true);

Map<String, Color> namedColors = (Map<String, Color>)fieldget(null);

for (Entry<String, Color> entry : namedColorsentrySet()) {//遍历打印

Systemoutprintln(entrygetKey()toUpperCase()+"\t"+entrygetValue());

}

}

}

目前常用的一些前端的框架如下:

1Bootstrap

Boostrap绝对是目前最流行用得最广泛的一款框架。它是一套优美,直观并且给力的web设计工具包,可以用来开发跨浏览器兼容并且美观大气的页面。它提供了很多流行的样式简洁的UI组件,栅格系统以及一些常用的JavaScript插件。

Bootstrap是用动态语言LESS写的,主要包括四部分的内容:

脚手架——全局样式,响应式的12列栅格布局系统。记住Bootstrap在默认情况下并不包括响应式布局的功能。因此,如果你的设计需要实现响应式布局,那么你需要手动开启这项功能。

基础CSS——包括基础的HTML页面要素,比如表格(table),表单(form),按钮(button),以及(image),基础CSS为这些要素提供了优雅,一致的多种样式。

组件——收集了大量可以重用的组件,如下拉菜单(dropdowns),按钮组(buttongroups),导航面板(navigationcontrol)——包括:tabs,pills,lists标签,面包屑导航(breadcrumbs)以及页码(pagination),缩略图(thumbnails),进度条(progressbars),媒体对象(mediaobjects)等等。

JavaScript——包括一系列jQuery的插件,这些插件可以实现组件的动态页面效果。插件主要包括模态窗口(modals),提示效果(tooltips),“泡芙”效果(popovers),滚动监控(scrollspy),旋转木马(carousel),输入提示(typeahead),等等。

Bootstrap已经足够强大,能够实现各种形式的Web界面。为了更加方便地利用Bootstrap进行开发,很多工具和资源可以用来配合使用,下面列举了其中的一部分工具和资源。

jQueryUIBootstrap——对于jQuery和Bootstrap爱好者来说这是个非常好的资源,能够把Bootstrap的清爽界面组件引入到jQueryUI中。

jQueryMobileBootstrapTheme——和上面提到的jQueryUI主题类似,这是一个为jQuerymobile建立的主题。如果你想让用Bootstrap开发的网站在手机端也可以优雅访问,那么这个资源对你来说很方便易用。

FuelUX——它为Bootstrap添加了一些轻量的JavaScript控件。FuelUI安装,修改,更新以及优化都很简单方便。

info——Bootstrap提供了自己的几种界面风格,提供了更多的配色选项,并且你可以给每个组件都应用不同的配色。

BootSwatchr——利用这个工具你可以立刻查看主题修改后的效果。对于每一次变动的效果,这个应用都会生成一个唯一的URL方便你与他人分享,你也可以在任意时刻修改你的主题。

Bootswatch——提供大量免费的Bootstrap主题。

Bootsnipp——在线前端框架交互组件制作工具,是一个供给设计师和开发者的基于BootstrapHTML/CSS/JavaScript架构的免费元素。

LayoutIt——通过界面拖放生成器简便快捷地创建基于Bootstrap的前端代码。通过拖放动作将Bootstrap风格的组件加入到你的个人设计里并且可以方便地修改他们的属性,简单便捷。

2、flex

Apache基金会发布了Flex48版本,这是Adobe将Flex捐献给Apache基金会后发布的第一个版本

需要注意的是

2014年03月10日,ApacheFlex技术社区发布了全新的ApacheFlex4120版本,该版本是ApacheFlex4110的升级版本,改进的功能包括:

◆支持最新版本的FlashPlayer

◆支持最新的AIR运行时

◆改进了内存占用和性能

◆改善了针对移动平台的组件的样式

◆支持iOS7系统

◆修复了超过80个漏洞[4]

2014年05月10日,Apache对4120版本进行优化改进,发布了Flex4121,新版本加入对全新FlashPlayer及Air运行时的支持,改进对移动媒体查询的支持,并修复20多个Bug。

3、extjs

ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。

功能丰富,无人能出其右。

无论是界面之美,还是功能之强,ext的表格控件都高居榜首。

华丽的界面,灵活的功能,还有开发工具都是配套的,但有个最大的问题,用就得花钱!

4、easyui

easyui帮助你构建你的web应用更加容易。

它是一个基于jquery的插件,开发出来的一套轻量级的ui框架,非常小巧而且功能丰富。

但是她有一个最大的问题就是代码只能找到以前的开源的版本,到了12以后的版本源代码都是经过混淆的,如果遇到问题修改起来会非常麻烦!不过一个比较大的优势是开源免费,并且界面做的还说的过去!

5、MiniUI

又一个基于jquery的框架,开发的界面功能都很丰富。

jQueryMiniUI_快速开发WebUI。

它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验。

使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、Master-Detail、菜单工具栏、d出面板、布局导航、数据验证、分页表格、树、树形表格等典型WEB应用系统界面。

界面做的挺不错,功能也挺丰富,但是有两个比较大的问题,一个是收费,一个是没有源码,说白了,不开源!基于这个开发如果想对功能做扩展就需要找他们的团队进行升级!

6、jQueryUI

jQueryUI是一套jQuery的页面UI插件,包含很多种常用的页面空间,例如Tabs(如本站首页右上角部分)、拉帘效果(本站首页左上角)、对话框、拖放效果、日期选择、颜色选择、数据排序、窗体大小调整等等非常多的内容。

功能非常全面,界面也挺漂亮的,可以整体使用,也可以分开使用其中的几个模块,免费开源!

7、DWZ

DWZ富客户端框架(jQueryRIAframework),是中国人自己开发的基于jQuery实现的AjaxRIA开源框架

设计目标是简单实用,快速开发,降低ajax开发成本。

欢迎大家提出建议,我们将在下一版本中进一步调整和完善功能.共同推进国内整体ajax开发水平。

毕竟是国产的,支持一下,而且源码完全公开,可以选择一下!不过性能怎么样不敢确定!

8、GWT

Google网页工具包——GWT提供了一组基于Java语言的开发包,这个开发包的设计参考JavaAWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉JavaAWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。

你不用去了解这样那样的javascript框架,通过java你就可以写出功能丰富的界面,可以做单元测试,毕竟是google的产品,严重支持一下!

9、YUI

Yahoo!UILibrary(YUI)是一个开放源代码的JavaScript函数库,为了能建立一个高互动的网页,它采用了AJAX,DHTML和DOM等程式码技术。它也包含了许多CSS资源。使用授权为BSD许可证,基本上没怎么研究过!

YUICompressor倒是挺出名的,这套UI库不知道应用的情况怎么样!

10、Sencha

Sencha是由ExtJS、jQTouch以及Raphael三个项目合并而成的一个新项目。

大公司的框架,并且是几样库的强强联合,值得推荐!

11、Dojo

在国内应用好像不是很广,不过性能上应该没问题。

Dojo是一个用javascript语言实现的开源DHTML工具包。

有多个基金会的支持,包括IBM和SUN,都是软件界的泰斗,值得信赖!

12、ZK

ZK是一套以AJAX/XUL/Java为基础的网页应用程式开发框架,用于丰富网页应用程式的使用接口。最大的好处是,在设计AJAX网络应用程式时,轻松简便的 *** 作就像设计桌面程式一样。ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了多样丰富、可重复使用的XUL与HTML组件,以及以XML为基础的使用接口设计语言ZKUser-interfacesMarkupLanguage(ZUML)。

功能丰富,全面,文档齐全,而且升级了很多次,非常值得推荐!

13、OperaMasks-UI

OperaMasks-UI是OperaMasks团队2011下半年打造的一款轻量级前端JS组件库,旨在提供一款学习曲线低、定制性灵活、样式统一,且多浏览器支持、覆盖企业业务场景的前端JavaScriptUI组件库。目前,该团队已将这一产品以LGPL开源协议开放给社区。

文档丰富,功能齐全,而且很容易使用和开发!而且是国产的哟!

14、JavaFX

Sun公司(已于2009年被Oracle公司收购)在2008年12月05日发布了JavaFX技术的正式版,它使您能利用JavaFX编程语言开发富互联网应用程序(RIA)。JavaFXScript编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative,staticallytyped(声明性的、静态类型)脚本语言。JavaFX技术有着良好的前景,包括可以直接调用JavaAPI的能力。因为JavaFXScript是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序变为可能。

Java作为编程语言中最受欢迎的一门语言,其地位是不容小觑的,要问它能做什么,如下:

一、做网站

Java可以用来做网站,很多大型网站都是用Java写的,比如我们熟悉的B站,所以想学习Java的同学还可以负责网站方面的制作,这方面的岗位(网站开发)也比较多,一直以来都相当流行。

二、做安卓软件

安卓是基于Linux的 *** 作系统,其中源代码就是Java,市面上所有的安卓手机都是修改Java运行的,对于更多的开发人员来说,他们更多的时间是花在开发APP上面。你随便打开一个App应用,他们就是用Java语言做的。

三、做游戏

电脑上的大多数游戏也是用Java来开发的,最经典的就是《我的世界》,还有当今世界最具影响力的游戏英雄联盟,吃鸡也是用Java写的

四、写软件

很多编程语言都是可以来写软件的,但Java是现在应用最广泛的,比如:企业级应用开发,还有OA、邮箱、物流、医疗、投票、金融、考试、矿山等信息方面的系统,Java都占有极为重要的地位。现在国内的最热门的就是手机应用,学习Java去做手机应用还是比较吃香的。

五、Java服务器程序

Java在金融服务业的应用非常广泛,许多跨国投资银行都用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。

大多数情况下,Java被用在服务器端开发,但多数没有任何前端,它们通常是从一个服务器(上一级)接收数据,处理后发向另一个处理系统(下一级处理)。

六、Java大数据技术

Hadoop以及其他大数据处理技术都是用Java或者其他,Java 依旧还有潜力去在这个市场占据一部分。

现在java已经渗透到了我们生活中的方方面面,在开发领域,JAVA培训成为了许多人的首选!JAVA应用广泛,JAVA培训就业前景良好!

(1)准备工作

1) 安装JDK 6或者JDK 7

2) 安装scala 210x (注意版本)

2)下载Intellij IDEA最新版(本文以IntelliJ IDEA Community Edition 1311为例说明,不同版本,界面布局可能不同)

3)将下载的Intellij IDEA解压后,安装scala插件,流程如下:

依次选择“Configure”–> “Plugins”–> “Browse repositories”,输入scala,然后安装即可

(2)搭建Spark源码阅读环境(需要联网)

一种方法是直接依次选择“import project”–> 选择spark所在目录 –>

“SBT”,之后intellij会自动识别SBT文件,并下载依赖的外部jar包,整个流程用时非常长,取决于机器的网络环境(不建议在windows

下 *** 作,可能遇到各种问题),一般需花费几十分钟到几个小时。注意,下载过程会用到git,因此应该事先安装了git。

第二种方法是首先在linux *** 作系统上生成intellij项目文件,然后在intellij IDEA中直接通过“Open

Project”打开项目即可。在linux上生成intellij项目文件的方法(需要安装git,不需要安装scala,sbt会自动下载)是:在

spark源代码根目录下,输入sbt/sbt gen-idea

注:如果你在windows下阅读源代码,建议先在linux下生成项目文件,然后导入到windows中的intellij IDEA中。

(3)搭建Spark开发环境

在intellij IDEA中创建scala project,并依次选择“File”–> “project structure”

–> “Libraries”,选择“+”,将spark-hadoop

对应的包导入,比如导入spark-assembly_210-090-incubating-hadoop220jar(只需导入该jar

包,其他不需要),如果IDE没有识别scala 库,则需要以同样方式将scala库导入。之后开发scala程序即可:

编写完scala程序后,可以直接在intellij中,以local模式运行,方法如下:

点击“Run”–> “Run Configurations”,在d出的框中对应栏中填写“local”,表示将该参数传递给main函数,如下图所示,之后点击“Run”–> “Run”运行程序即可。

如果想把程序打成jar包,通过命令行的形式运行在spark 集群中,可以按照以下步骤 *** 作:

依次选择“File”–> “Project Structure” –> “Artifact”,选择“+”–>

“Jar” –> “From Modules with

dependencies”,选择main函数,并在d出框中选择输出jar位置,并选择“OK”。

最后依次选择“Build”–> “Build Artifact”编译生成jar包。

以上就是关于如何在JavaFX的WebView中通过JavaScript回调Java的程序全部的内容,包括:如何在JavaFX的WebView中通过JavaScript回调Java的程序、javafx中Color类有哪些标准色、目前常用的一些前端的框架等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10110849.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存