JavaFX是Sun于2007年推出的富互联网应用开发技术(RIA)。所谓RIA,就是页面体验和数据交互都基于web,提供跨平台,拥有丰富的体验,且易于部署的应用程序。了解更多RIA可以参照维基百科上的内容。
RIA普遍被认是未来互联网应用发展趋势的热门技术,比如Air、Flex、Silverlight、Google GWT甚至HTML5等。JavaFX诞生之初,adobe借助flash普及,谷歌、微软借助系统和浏览器,优势都很明显,相比之下JavaFX形势不乐观也受到较少的关注。2007年Sun发布JavaFX1.0的时候以JavaScript作为语言,具有一定的学习成本,使用起来也并不方便。后来Oracle发布JavaFX 2.0,增加了很多新特性,并明智地抛弃js选择Java作为开发语言。这样一来,广大开发者可以毫无困难地使用JavaFX,并吸收Java大量的现有框架。JavaFX 2.0使用起来有点像简洁版的Swing,但其强大的地方在于可以使用FXML定义应用的布局实现逻辑与界面分离,有点类似Android的布局系统,这也是经典的MVC理念,官方还提供完善的布局设计工具,体验要优于任何Swing插件。此外,JavaFX 2.0还可以开发3D应用、媒体应用等,支持GPU渲染,更厉害的是像页面一样支持CSS,可以轻松实现自定义的界面风格。到目前为止,JavaFX支持windows、mac、linux平台,ARM版的也在准备中,事实上已经可以通过RoboVM在IOS上运行JavaFX了,有迹象表明官方也将对移动平台提供支持。由此可见选择JavaFX的有着众多优点,虽然HTML5在崛起,而JavaFX也有依赖较新版本JRE的软肋,但凭借Oracle的推广和近乎无限的Java资源,JavaFX必将在未来RIA第一阵营中占有一席之地。
使用JavaFX需要JDK1.7,也可以单独下载JavaFX的SDK,详情参考官方主页。IDE支持Netbeans、Eclipse、IntelliJ等,用我们常用的Eclipse开发需要安装插件,这里推荐e(fx)clipse,该插件在线安装地址为:http://downloads.efxclipse.org/p2-repos/releases/latest/。
安装好插件以后,通过Eclipse菜单-File-New-Other,选择新建JavaFX项目,如图:
工程创建好以后右击-New-Other,选择添加JavaFX主类:
这里引用官方的例子,键入如下代码完成:
import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage;
public class JavaFxTestMain extends Application { public static void main(String[] args) { launch(args); }
@Override public void start(Stage primaryStage) { primaryStage.setTitle("Hello World!"); Button btn = new Button(); btn.setText("Say 'Hello World'"); btn.setOnAction(new EventHandler<ActionEvent>() {
@Override public void handle(ActionEvent event) { System.out.println("Hello World!"); } });
StackPane root = new StackPane(); root.getChildren().add(btn); primaryStage.setScene(new Scene(root, 300, 250)); primaryStage.show(); } }
|
右击工程,run as javaApplication,效果如下:
代码中需要说明的是,JavaFX的应用程序入口类必须继承Application,main方法里必须是launch(args),
而void start(Stage primaryStage)即为JavaFX的入口,通常在这里设置窗口、布局等。关于State、Scene、Panel、Node之间的层次关系可以参考下面这张来自官方的图片,其具体的关系与用法,后面的文章再逐步介绍。
关于应用部署,JavaFX支持多个平台,主要发布方式有jar、jnlp、html,甚至可以打包成exe,dmg。jnlp优点是发布文件较小,可以自动下载最新版本,检测运行环境等。要部署JavaFX,打开工程目录下的build.xml进行相关设置,点击build按钮进行部署,如图:
完成之后会在工程的deploy目录下生成执行文件:
参考资料:
相关推荐
JavaFX快速入门Demo,快速搭建自己的UI界面,快速熟悉JAVAFX开发。
javaFx 学习--入门示例程序的源码
javafx开发入门教程,英文版,个人感觉不错。
javaeye上面的以为热心网友发布的javafx入门教程 是翻译sun的官方教程 所以在这里首先要感谢这位热心的通道 我在此只是为了扩大传播 得点分 呵呵
javafx2.0最新最快的资料! javafx2.0最新最快的资料! javafx2.0最新最快的资料! javafx2.0最新最快的资料!
该文档的内容来自Oracle的官网,多了中英文对照。 如果你希望以JavaFx快速开发出具有丰富的用户体验的应用,那么该手册正是为你而在。
这是javaFX Script Programming language 入门的基本语法与简易教程,是从官网上下载下来的pdf,所以是英文的,有兴趣的朋友可以下来看看,随便提高一下自己的英语水平.<注>这是.7z压缩文件,需要7-zip进行解压才行...
javaFx入门演示示例程序操作图片
最近公司需要这技术,自己官网研究,案例,心得。
将Sun的官方教程整理成PDF文件,方便查看
javaFX基础教程及各个组件用法案例和详细文档,非常适合初学者,是学习javafx的非常好的资源,价值13分的资源,推荐下载。
JavaFx 的官方入门教材,英文
网页版,官网上拉的,适用于初学JavaFX的。
将javafx2.0官方文档使用进行的翻译,方便初学者入门和使用。
JavaFX是一个富客户端的开发工具,这是一本初学者学习JavaFX的入门书籍,由浅入深一步一步给你讲解JavaFX基础、架构
javafx+mysql实现的教师绩效管理系统,zip里面包含数据库脚本。该部分代码适合初学入门或者课程设计,希望能够共同进步。
[JavaFx]经典的扫雷程序入门 我的博客: http://blog.csdn.net/u010589491/article/details/50759225
JavaFX入门书籍。书中内容按照培训技术人员的思路设计,读者可以根据该书的章节快速有效地学习JavaFX编程语言。
JavaFX 2.0 全套教程, 非常齐全的pdf文档,学习JavaFX 2.0必备!
javaFx8的详细教程,详细介绍到了javaFX8的保修细节,有助于javaFX的入门学习。是一份不可多得的javaFX的学习资料。