我今天对JavaFX的了解

如果您没有听说过,JavaFX 2是Java的新Desktop / web / client框架。 自JavaFX 1以来,它已经进行了相当大的改动(坦率地说,效果并不那么令人印象深刻)。 自定义脚本语言已经淘汰了,您可以使用标准Java和基于XML的语言来编写实际的UI演示文稿。

因此,今天,我和一个朋友在我们的一个地方聚在一起,教自己一点JavaFX。 这是我们学到的东西,首先要做一些牛削皮工作:

  1. 首先,安装JavaFX开发人员预览– 在此处获取
  2. 您必须将其解压缩,然后将生成的目录放置在合理的位置,以root命名。
  • 我把它放在/usr/local/javafx-sdk2.1.0-beta/
  • 接下来,您将需要一个IDE与之配套
    • Netbeans是JavaFX 2中最先进和可用的IDE
    • 您想要Netbeans 7.1 RC2
  • 要将其安装在Mac上,您需要JavaForMacOSX10.7.dmg –官方Apple Java的较低版本都不能使用,并且OpenJDK构建也不起作用(即使它是正确的版本或更高的版本)
  • 安装完成后,Netbeans可以与其他JRE正常工作(我主要是在Java 7 Developer Preview上运行它)
  • 要启动新的JavaFX项目,您需要告诉NetBeans在哪里可以找到JavaFX。 为此,您需要创建一个新的JavaSE平台概要文件,并手动添加JavaFX依赖项。
  • 安装后,我们便开始正确使用JavaFX。 我们今天的项目是尝试在JavaFX中复制Victor Grazi的一些并发动画,既可以自学JavaFX技术,又可以创建一些教学工具作为输出。

    • JavaFX使用Application作为主要类进行子类化
    • API文档在这里

    如果您完成了任何Flex开发,JavaFX看起来将非常自然。 例如

    1. FXML文件提供UI和布局
    2. 顶级FXML元素具有fx:controller属性,该属性定义了此View的Control
    3. FXML元素绑定到控制器类中包含的成员,这些成员已使用@FXML注释进行了注释
    4. fx:id属性用于定义绑定到FXML元素的成员的名称
    5. 绑定也发生在方法上。 例如,按钮绑定使用onAction处理程序,例如: onAction="#isFutureDone"
    6. #methodName语法用于说明按下按钮时应调用哪种方法。

    由此,您很容易开始构建基本应用程序。 我们发现了一些东西:

    1. UI线程很容易绑定。 永远不要直接从Control对象调用阻塞方法,因为在UI线程上触发此代码路径将导致显示器挂起。
    2. 小心吞咽异常。
    3. 如果对象中有一个方法正在更新UI元素,但未使用@FXML注释,则更新后似乎需要在UI元素上调用requestLayout() 。 我们不确定为什么要深入了解-如果您知道原因,请告诉我们。
    4. 该框架似乎使用自定义类加载将FXML文件转换为对象的“场景图”,似乎有点像Spring的工作方式。

    总体而言,我们的简短hack会议给我们留下了深刻的印象。 这些API看起来很干净,框架的总体设计也很合理。 存在一些稳定性问题,但这是Mac上的尖端技术-JDK和JavaFX运行时都是Developer Previews。

    我们一定会再次使用JavaFX做更多的事情,并期待看到它成熟并成为Java客户端开发的完全受支持的OSS框架。

    参考: 我今天从我们的JCG合作伙伴 Martijn Verburg在Java 7开发人员博客 中学到的关于JavaFX的知识

    相关文章 :


翻译自: https://www.javacodegeeks.com/2012/01/what-i-learnt-about-javafx-today.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值