JavaFx体验

JavaOne放出来的新东西,出来也有段时间了,看了论坛和blog上的讨论,叫好、不看好的各占一半。今天就去 下载了netbean插件,按照getting startted做了一些例子。总体来说,JavaFx仍然是在awt/swing的基础上的包装,只不过用一层薄薄的性感语法包装了一把,而且这语法与javascript等脚本语言基本一致,特别是声明性的编程语法与json非常相似。据sun声称要退出一个消费者版本的jre,大概5M-9M大小,消息参见《桌面java的缺陷:面向消费者的jre》,这个恐怕也是给JavaFx专门定制的吧。个人观点:没有什么令人激动的新鲜玩意,特别是布局方面仍然是麻烦的layout机制,对多媒体的支持还是比不上flash,优点在于与java服务端通信方面(因为都是java平台)可能比较有优势,另外就是消费者版本jre的推出是个好消息,jre实在太大了。

说了这么多,看看Hello World怎么写的,实在与json太相似了:

import javafx.ui.*;
Frame {
title: "Hello World JavaFX"
width: 200
height: 200
content: Label {
text: "Hello World"
}
visible: true
}
这是声明方式来创建一个Frame,Frame里面放个Label,Label上一句Hello World。也可以采用编程方式:

var win = new Frame();
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:

class HelloWorldModel {
attribute saying: String;
}

var model = HelloWorldModel {
saying: "Hello World"
};

把Model绑定到View上:

var win = Frame {
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内存机器上跑的挺欢。

时间: 2024-10-25 20:47:50

JavaFx体验的相关文章

Silverlight、JavaFX、Flex技术比较

对Web开发人员,过去的一段时间绝对是难忘的.因为现在在RIA开发平台领 域,除了Adobe业已推出许久的Apollo和Flex,微软正式推出了Silverlight产品 ,帮助开发人员创建丰富的可交互Web应用.在刚结束的JavaOne大会上,Sun公 司首席技术官Bob Brewin又宣布推出基于Java平台的JavaFX,目标同样是直指 RIA开发.每一个平台都有自己忠实的拥泵,但是这些技术之间的区别是什么? Techie在他最近写的一篇博客中,从定义.大小.应用平台.授权许可等方 面深入

JavaFX深入浅出(一)富客户端应用程序RIAs

每当我们要学习一种新的技术,首先要搞明白他是干什么的,对自己有什么用处,把相关情况弄清楚以后,才能决定去不去学习他.在学习JavaFX之前,下面几个问题我觉得应该先搞清楚: 一.什么是 Rich Internet Applications ? Rich Internet Applications ,缩写RIAs,翻译过来是富客户端应用程序,或者富互联网应用程序.他是从网络下载到本机,可以在浏览器中运行的一种应用程序.当然也可以脱离浏览器,直接在操作系统下运行.相对于传统的的Web应用,富客户端应

JavaFX学习曲线日记-2:声明用户接口

我已经使用Java语言定义用户接口近十年了,当我第一次体验JavaFX脚本时便马上感到 了这两种不同环境之间的差异.尽管程序员在Java语言中使用过程式代码来定义用户接口, 而在JavaFX脚本语言中你能够使用声明语句来定义用户接口.这是两者之间最大的不同,要 适应后者的确需要花费一定的时间和精力. 为了学习这种创建UI的全新声明风格, 我决定将一个从前使用Java语言实现的应用UI移植到JavaFX脚本上.于是我挑选了一个在 Java语言中心的Swingworker教学中使用的图片浏览应用.原

JavaFX学习曲线日记-1:探索JavaFX脚本

本文由SDN全职作者兼开发者John O'Conner编写,文中坦 率地记录了他在学习JavaFX脚本语言过程中的经历.本学习曲线日记系列将致力于介绍 JavaFX技术并指导初学者开始使用它. JavaFX脚本在2007年3月的JavaOne大会上面 世,虽然这个技术非常新鲜,但Sun和技术社区一直在努力使其每周都有引人注目的进步. 因此现在是学习这种语言的好机会,你可以马上下载并使用它.这里提供一些展现JavaFX语 言特性的漂亮的演示应用. JavaFX脚本是一种全新的脚本语言,开发者能用来

JavaFX Script高级特性

JavaFX 是 Sun 推出的一套基于 Java 技术的产品家族. JavaFX Script 可以用来高效的创建富媒体和交互性很强的应用. JavaFX 是 Adobe Flex 和 Microsoft Silverlight 的有力竞争者.本文通过具体的实例介绍了 JavaFX Script 语言本身的一些高级特性并讨论了 JavaFX Script 中的一些高级话题,包括创建复杂的用户界面.实现动画效果.JavaFX Script 应用的部署和在一个独立的 Java 应用程序中嵌入 Ja

使用经过编译的JavaFX Script技术创建富Internet应用程序

JavaFX 系列技术目前包含两种产品:JavaFX Script 和 JavaFX Mobile 平台.后者是面向移动电话和其他移动设备的平台.本系列的 18 篇文章主要关注 JavaFX Script 编程语言,这是一种简单而优雅的脚本编制语言,充分利用了 Java 平台的强大功能.进一步来讲,这些系列文章涵盖了经过编译的 JavaFX Script,它经历了完整的开发周期.您可能已经了解到 JavaFX Script 有一个经过解释的版本,它实质上充当编译后版本的原型 JavaFX Scr

Java 实践:JavaFX 桌面应用开发中使用字体图标

在最近的一个 JavaFX 桌面应用开发中,体验了一下将 Font Awesmoe 的字体图标库作为自定义字体运用于桌面应用中.我将其中一些关键代码提取出来编写成了FontawesomeWithJavaFX 示例程序供大家交流.下载 Font Awesome 这是一个 web app 常用的可以进行自定义缩放矢量图标, 其大小,颜色,阴影等,都可通过 CSS 进行修饰. Overview 预备知识 了解一下 JavaFX JavaFX 简单的说,就是用于 Java 开发桌面应用的.对于曾经使用过

Kotlin 初体验:主要特征与应用

Kotlin 是一种针对 Java 平台的新编程语言.它简洁.安全.务实,并且专注于与 Java 代码的互操作性.它几乎可以用在现在Java 使用的任何地方 :服务器端开发.Android 应用,等等.本文我们将详细地探讨 Kotlin 的主要特征. 本文选自<Kotlin实战>. Kotlin初体验 让我们从一个小例子开始,来看看 Kotlin 代码长什么样子.这个例子定义了一个 Person 类来表示"人",创建一个"人"的集合,查找其中年纪最大的人

借助 Java 9 Jigsaw,如何在 60 秒内创建 JavaFX HelloWorld 程序?

[编者按]本文作者为 Carl Dea,主要介绍利用 Jigsaw 项目在大约一分钟内编写标准化的"Hello World"消息代码.本文系国内 ITOM 管理平台 OneAPM 编译呈现. 你可能已经听说了 Jave 9 的新模块系统,也就是 Jigsaw 项目.如果你还不了解 Java 9 的新模块系统,请阅读 Mark Reinhold 的模块系统状态报告.另外还可以看看 @nipafx Nicolai Parlog 的优秀博客.Nicolai 在博客中详细介绍了 Java 9