`
leecong1p
  • 浏览: 146461 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JavaFX简介与使用入门

阅读更多

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目录下生成执行文件:



 

 

参考资料:

http://docs.oracle.com/javafx/2/get_started/hello_world.htm

http://blog.csdn.net/wingfourever/article/details/7819986

  • 大小: 26.5 KB
  • 大小: 23.9 KB
  • 大小: 24.9 KB
  • 大小: 12.1 KB
  • 大小: 11.9 KB
  • 大小: 49.9 KB
  • 大小: 3.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics