当初花了一个月学习的JavaUI框架-Javafx,今天花一晚上时间回顾了一下 除非Java以后会在桌面软件方面有所作为,否则应该是不会再使用了(好东西,可惜没有市场) 当初学习Javafx纯粹只是对UI感兴趣,今天主要从设计思想的角度来评价(有了绚丽的外表,还要有深厚的内涵!!!)
- 复合控件的设计充分利用了面向对象的思想 所有控件都继承自Node,比如下拉框,列表框,子节点不仅可以是文本,还可以是任意控件的组合 控件组合非常自由
- 数据绑定做的非常好 所有的复合控件,都可以为CellNode(子节点)绑定一个Object,来存储这个子节点对应的数据 还可以通过重写CellNode相关的方法,创建不同风格的子节点,自定义每个子节点getValue的返回值
- 属性监听做得特别完善而且方便 在Javafx中,所有的属性(包括宽高透明度),不是用基本数据类型来存储的,而是用包装类来存储,实现了Observable接口 所有的属性都可以添加监听器,数值变化,焦点变化,状态变化,任何属性变化都会触发监听器代码 比如window.widthProperty.addChangeListener()
- 特殊功能监听器做得非常完善 比如字符键入监听器,字符显示监听器,可以拦截字符,也可以让显示的字符和键入的不一样
- 动画和特效库封装得非常齐全,常见动画和特效应有尽有
- 尝试了引入css和xml来创建管理控件,降低了前端和移动开发者学习Javafx的成本 还有很多Javafx爱好者,一直在尝试让Javafx能在Browser和APP中运行 虽然做得不是很好(团队规模有限,用户有限),但跨平台,一套代码到处运行的想法是好的