体验了一把JavaFX
来源:互联网 发布:在线制作身份证软件 编辑:程序博客网 时间:2024/04/30 01:05
体验了一把JavaFX
JavaOne放出来的新东西,出来也有段时间了,看了论坛和blog上的讨论,叫好、不看好的各占一半。今天就去https://openjfx.dev.java.net/ 下载了netbean插件,按照getting startted做了一些例子。总体来说,JavaFx仍然是在awt/swing的基础上的包装,只不过用一层薄薄的性感语法包装了一把,而且这语法与javascript等脚本语言基本一致,特别是声明性的编程语法与json非常相似。据sun声称要退出一个消费者版本的jre,大概5M-9M大小,消息参见《桌面java的缺陷:面向消费者的jre》,这个恐怕也是给JavaFx专门定制的吧。个人观点:没有什么令人激动的新鲜玩意,特别是布局方面仍然是麻烦的layout机制,对多媒体的支持还是比不上flash,优点在于与java服务端通信方面(因为都是java平台)可能比较有优势,另外就是消费者版本jre的推出是个好消息,jre实在太大了。
说了这么多,看看Hello World怎么写的,实在与json太相似了:
Frame {
title: "Hello World JavaFX"
width: 200
height: 200
content: Label {
text: "Hello World"
}
visible: true
}
这是声明方式来创建一个Frame,Frame里面放个Label,Label上一句Hello World。也可以采用编程方式:
win.title = "Hello World JavaFX";
win.width = 200;
var label = new Label();
label.text = "Hello World";
win.content = label;
win.visible = true;
这语法与javascript有什么不同呢?
再来看看事件处理,仍然遵循MVC模式,比如我们希望输入框的文字修改能同时修改窗体的title,首先定义一个Model:
attribute saying: String;
}
var model = HelloWorldModel {
saying: "Hello World"
};
把Model绑定到View上:
title: bind "{model.saying} JavaFX"
width: 200
content: TextField {
value: bind model.saying
}
visible: true
};
TextFiled的value与model的saying操作进行了绑定,而Frame的title也绑定了model的saying方法,因此输入框的文字改变的话,也会反映到title上咯。"{model.saying} JavaFX"倒是类似ruby对字符串的处理方法了。这些例子代码完全来自 Getting Started With JavaFx script language,更多精彩内容请自己解读。题外话:netbean蛮好用的啊,在我的1G内存机器上跑的挺欢。
- 体验了一把JavaFX
- 今天体验了一把MOBILE!
- 今天,体验了一把Xen虚拟机
- 今天,体验了一把Xen虚拟机
- 今天体验了一把c语言
- 中国天网系统有多牛叉?BBC 记者体验了一把
- JavaFX学习初体验
- JAVAFX 初体验
- 体验了一把 希望杯 2017年 小学四年级 第二试试题
- 抽空笑了一把
- 逛了一把清华
- 试了一把PCRE
- 玩了一把WIKI
- 洗了一把脸
- ylmf os 体验一把 类似ubantu
- 如何在IDE中体验一把Java8?
- 我也奢侈了一把
- 看来得拼一把了
- 生产者与消费者问题
- 《解剖PetShop》系列之二----PetShop数据访问层之数据库访问设计
- Java/J2EE中文问题终极解决之道
- 不能承受生命之轻
- 什么是Java虚拟机
- 体验了一把JavaFX
- 虚拟机的好处
- web service
- vss
- MSDN中回调函数的讲解及其C#例子:用委托实现回调函数
- 最近的工作和活动
- asp.net 2.0 中引用Web.config内的连接字符串的方法
- Sun兑现承诺开源Java JDK置于GPLv2下
- 解剖PetShop》系列之三---PetShop数据访问层之消息处理