技术中心

这里象征着我们的态度和能力

>Java富客户端平台JavaFX:创建框架实战
发布者:中国IT实验室    信息来源:中国IT实验室    发布时间:2012-01-09      浏览次数:5173
分享到:

新浪微博

腾讯微博

QQ空间

豆瓣网

QQ好友

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

    2007年JavaOne大会上首次对外发布JavaFX,时隔三年之后,2010年JavaOne大会重点强调了Oracle针对Java平台的计划。未来JavaFX希望在渲染方面具备通用的抽象能力,无论是针对Java 2D/OpenGL/Hospot VM框架或是Javascript/HTML5/Web浏览器框架,都可以使用同样的API来实现。

    JavaFX最早有两个主要的组成部分:JavaFX脚本和JavaFX移动。JavaFX的核心是JavaFX脚本,它是一种声明型的脚本语言。它与Java类保持了高度的交互性。JavaFX移动(JavaFX Mobile),是用来为移动设备开发Java应用的平台。然而,后来Oracle宣布了JavaFX脚本被废弃,替换它的是一种新的Java API,用来构建JavaFX应用,当然,也可能从类似JRuby,Clojure,Scala和Groovy等语言中选取代替者。正当我犹豫是否将学习重心转移到JavaFX上时,2011年JavaFX的发展前景给我注入了一种强心剂,让我下定决心来好好学些JavaFX2.0。

  2011年在JavaOne大会上,Oracle秉承一个理念,为了追求JavaFX的标准化,Oracle推出了JavaFX 2.0,为企业业务应用提供先进的Java用户界面(UI)平台,致力于把Java变成首选的富客户端平台。未来预计将对JavaFX平台实现开源,使其成为OpenJDK社区的新项目。

  一、什么是JavaFX?

  JavaFX平台是Java客户端平台的演进,用于帮助程序开发人员快速创建和部署富客户端应用程序,实现跨平台的一致性。JavaFX平台基于Java技术,提供了一系列的图表和多媒体API,用于简化数据驱动的企业客户端应用程序的开发。

  对于Java开发人员而言,JavaFX平台具有以下优势:

  1、由于JavaFX平台是用Java语言编写的,Java开发人员可以充分利用他们已有的技能和工具来开发JavaFX应用程序。

  2、由于Java被广泛使用,有经验的Java开发人员能够快速高效地开发JavaFX应用程序。

  3、通过使用服务器 href="http://product.it168.com/list/b/0402_1.shtml" target=_blank>服务器和客户端平台上的Java技术,JavaFX平台通过减少业务解决方案的复杂性来减低了投资风险。

  4、基于以上几点优势,开发费用也有所减低。

  5、JavaFX平台为广大开发人员提供了开发框架和运行时环境,用于创建企业业务应用程序,同时支持Java实现跨平台。

  二、JavaFX现状发展: JavaFX 2.0发布

  在JavaOne 2011大会上,甲骨文在宣布推出Windows 平台上的JavaFX 2.0版本的同时,也发布了Mac OS X平台上的开发者预览版JavaFX 2.0。

  JavaFX 2.0 是 JavaFX 一个主要的升级版本,为下一代的 UI 平台而设计,提供强大的基于Java 的UI 设计能力,可处理大规模数据驱动的商业逻辑。

  JavaFX 2.0 包含非常丰富的UI 控件、图形和多媒体特性,可用于简化可视化应用的开发,新增的 WebView 可直接在应用中嵌入网页;另外 2.0 版本允许使用 FXML 进行 UI 定义,这是一个脚本化基于XML 的标识语言。

  JavaTM SE 7 Update 2 包含了新的JVM,用来提高可靠性和性能,支持Oracle Solaris 11和Firefox 5以及更高版本。Java SE包含了JavaFX,Java JDK包含了JavaFX SDK以及JavaFX运行时环境。

  本月初适用于Windows平台上的JavaFX 2.1开发者预览版可供下载,该版本包含了新的图表和复合框控件。

 


 三、如何创建应用程序框架

  JavaFX应用程序都有一个相似的框架。Main()函数调用Launch()函数,Start()方法用于设置应用程序的UI设计。

  如何使用NetBeans 7.1来创建JavaFX项目

  1、下载安装JavaFX 2.0 SDK。我安装文件的默认路径是C:Program FilesOracleJavaFX 2.0 SDK、C:Program FilesOracleJavaFX Runtime 2.0.

  虽然通过命令行的方式可以运行JavaFX应用程序,但是我准备用NetBeans来构建我的第一个程序。NetBeans 7.1 beta支持JavaFX 2.0,而JavaFX 2.0 SDK需要单独下载

  我下载了NetBeans 7.1 beta所有版本,因为Java SE、JavaFX都能支持Groovy、Java EE、PHP以及C/C++来创建桌面、Web以及移动应用程序。目前的NetBeans IDE支持Windows、 Mac、Linux 以及 Oracle Solaris平台。它支持Java平台中的最新规则和标准。而且,NetBeans IDE 7.1 Beta除了支持Java标准外,还支持JavaFX 2.0,并且对JavaFX 2.0应用程序可以进行完整的编译、调试和监测。

  2、在NetBeans 7.1中创建了一个新的JavaFX项目。创建项目有两种方法。

  •   “CTRL+SHIFT+N”
  •   右键“项目”选项卡,选择“新建项目”

  注:第一次在新安装的NetBeans 7.1beta版本中创建JavaFX项目时需要激活。

  3、一旦点击“完成”按钮创建完JavaFX项目后,就会生成三个文件。这些文件包括HelloJavaFX.java、Sample.java以及 Sample.fxml。

  在项目上点击“生成”按钮后,就可以看到NetBeans 7.1 beta生成什么样的文件。

  在dist目录下,可以使用JAR和JNLP文件来生成HTML文件。


 四、如何使用内置的布局面板

  JavaFX应用程序支持手动设置UI布局,可以为每个UI元素来设置合适的位置和大小属性,而最简单的方法是充分利用布局面板。JavaFX SDK提供了几个布局容器类,称之为面板,用于轻松创建和管理一些经典的布局,比如行、列、栈等。作为调整后的窗口,布局面板可以根据节点的属性来灵活自动调整位置和大小。

  使用JavaFX提供的布局面板如下:

  1、BorderPane:

  BorderPane布局面板提供了五个区域来放置节点:上下左右中。图1-1显示了布局类型,可以用来创建边框面板,可以灵活调整区域大小。

  边框面板可以用于创建顶部经典的工具条,底部状态栏,左端导航栏面板,右边额外信息,中间的工作区。

  以下代码为如何在每个区域里创建一个多边形边框面板

Example 1-1 Create a Border Pane

BorderPane layout
= new
BorderPane();
layout.setTop(
new Rectangle(200, 50
, Color.DARKCYAN));
layout.setBottom(
new Rectangle(200, 50
, Color.DARKCYAN));
layout.setCenter(
new Rectangle(100, 100
, Color.MEDIUMAQUAMARINE));
layout.setLeft(
new Rectangle(50, 100
, Color.DARKTURQUOISE));
layout.setRight(
new Rectangle(50, 100, Color.DARKTURQUOISE));

 

  2、Hbox

  Hbox布局面板提供了一种简单的方法来调整单行中的节点。

  Padding属性可以用来设置节点和Hbox面板之间的间距。Spacing属性可以用来管理节点之间的距离。可以调整背景色来调整风格。

  以下示例为使用Hbox面板来创建一个工具条,包含两个按钮

Example 1-2 Create an HBox Pane

HBox hbox
= new
HBox();
hbox.setPadding(
new Insets(15, 12, 15, 12
));
hbox.setSpacing(
10
);
hbox.setStyle(
"-fx-background-color: #336699"
);

Button buttonCurrent
= new Button("Current"
);
buttonCurrent.setPrefSize(
100, 20
);

Button buttonProjected
= new Button("Projected"
);
buttonProjected.setPrefSize(
100, 20
);
hbox.getChildren().addAll(buttonCurrent, buttonProjected);

BorderPane border
= new
BorderPane();
border.setTop(hbox);

[1] [2] 下一页

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730
Baidu
map