`
suifongqi
  • 浏览: 55870 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JFX学习笔记 二 重修语法

    博客分类:
  • JAVA
阅读更多
[size=large]首先准备好材料,以便后面开始JFX大餐,看了SUN的JFX广告,真想马上吃下去
餐具:netbeans-JFX( NetBeans IDE 6.1 With JavaFX  ),当然也有其它不错的IDE,这里就先将就一下吧,反正是入门学习,我对自己要求不高。
下载地址:http://java.sun.com/javafx/downloads/    自家工具方便
打开netbeans,选择JFX如下:

使用官方的好处就在于可以创建很多例子,这里我们可以创建新的JFX项目,也可以创建一些例子项目,目前我看还是先创建新的项目好了。例子太复杂看不懂很容易打击我脆弱的心灵。
如下:


创建新的



其中Main的意思类同主函数main的意思,我暂且把它认为就是以Main.fx作为程序的入口好了,不过作为一个疑问:JFX是如何启动的?看遍Main.fx也没看到main()对吧,留在这里,继续下去...

学新语法,老套路是从变量和类型开始,我还比较菜,如果你不喜欢按套路出牌就别看了,因为这里我还没能力突破套路呵呵。


JavaFX语言是一种声明式的静态类型编程语言。它具有第一级函数( first-class functions )、声明式的语法、列表推导( list-comprehensions )及基于依赖关系的增量式求值( incremental dependency-based evaluation )等特征
首先静态类型我的理解是应该与JAVA静态类装载方式相似
开始我们的变量之行吧。
1 变量的声明与使用
2 有八种基本类型吗?
JavaFX 语言提供四种基本类型:Str ing (字符串)、Boolean(布尔)、Number(数值)和 Integer
(整数)。这些类型相当于 Java 的如下类型:
String == java.lang.String
Number == java.lang.Number
Boolean == java.lang.Boolean
Integer == short,byte,long,BigInteger
写JAVA代码时我们常写如下:
String s = "hello,world";
Int count = 10;
double d = 1.5;
boolean lock = true;
System.out.println(s);
等价JFX
var s = "hello,world";
var count = 10;
var d =1.5;
var lock = true
java.lang.System.out.println(s);

果然是一家人啊,除了在JFX中使用var关键字声明变量外,其他几乎一直。当然我没有声明变量类型,JFX可以自动推断,从以上我猜想这4种基本类型是不是也具有其所对应JAVA类型中的方法呢?我猜想有的,我怀疑SUN公司的程序员只是封装了JAVA中的类型而已,你想想啊,老外可是很抠门的,如果重定义类型,也意味着要修改JVM,那SUN得花多少钱。当然如果SUN的员工工资有中国程序员那么廉价的话,一切都可以做新的,嘿嘿。
所以我写出了:
var d = 1.5;
d.intValue(); // yields 1
(1.5).intValue(); // yields 1
s.substring(n); // yields "ello"

当然如果我们要正经一点可以用JFX的标准变量声明格式
var variableName : typeName [?,+,*] = initializer ;
?可能没有,+ 可能一个或多个,*可能0个或多个,通配符
var nums:Number*=[1,2,3];等价于 var nums = [1,2,3];//nums是一个有三个元素的数组

好啦,官方的变量介绍结束了,但是这对我还不够,有疑问,我还不知道下面这些代码能得到什么?
var s = "hello";
var n = 1;
var d = 1.5;
var b = true;
java.lang.System.out.println(n+d);
java.lang.System.out.println(s+n);
java.lang.System.out.println(s+b);
java.lang.System.out.println(n+b);
结果如下:
n+b无法通过,说明两种类型无法转化,其他打印依次是:
2.5
hello1
Hellotrue

以上可以解除我对类型转化的认识不详。可以我还有个疑问(有点欠扁,还疑问...)
var s = "hello";
s = 1.0;
刚才不是说JFX自动推断类型吗?这样行吗?
呵呵,答案是不行,为什么?因为JFX是静态类型设计,不是动态的所以该S变量类型推断后,S不能再赋值整数。

好啦,今天对JFX的学习就到这儿吧,。。。应该还有疑问的呵呵。。





[align=left][/align]
  • 大小: 158.6 KB
  • 大小: 22.3 KB
  • 大小: 21.8 KB
分享到:
评论

相关推荐

    emed6004jfx工具`

    标题中的"emed6004jfx工具"很可能是指一个特定的软件或应用程序,而`.rar`文件格式表明这是一个压缩包,通常用于存储和传输多个文件。从描述中我们可以看到,这个压缩包的名字是`emed6004jfx.rar`,并且要求字符数...

    java1.8版本,jre,jfx

    值得注意的是,从Java 9开始,JavaFX被移出JDK的核心部分,成为一个独立的模块,但在Java 8中,它还是内置的,这正是"jfx"标签所指的内容。 在压缩包中,"java"文件可能包含了Java 1.8的完整安装程序或者特定组件,...

    JFX例子

    JFX的例子是学习JavaFX的基础,通过这些示例,初学者可以快速了解并掌握JavaFX的基本概念和技术。 在提供的文件列表中,我们可以看到两个部分的教程:“JavaFX发现之旅:JavaFX Script With Eclipse 入门”。这部分...

    俄罗斯方块jfx源代码

    总的来说,“俄罗斯方块jfx”源代码为我们提供了一个学习和研究JavaFX游戏开发的实例,从中我们可以学到JavaFX的图形渲染、事件处理和游戏逻辑设计等多个方面的知识。无论你是Java初学者还是希望提升图形界面编程...

    nj4x-mt4开发中间件jfx 2.7.7版本

    MT4客户端不支持二次开发,但是服务器接口对外开发,jfx封装了Java接口,使得Java开发程序员可以轻易上手

    欧码简音5JFX输入法

    简音输入法是专为希望学好中文发音,又希望超快 地输入汉字的人设计的,单字平均出字仅1.26码,远比 同类音码快;输入编码后视屏可同显简体和繁体,极有 利于学记各简体繁体字的对应模样,同屏对比了解简体 ...

    JFX3DModelImporters_EA_2014-02-09_jfx3d_JFX3DModelImporters_ea_源

    这个压缩包"JFX3DModelImporters_EA_2014-02-09_jfx3d_JFX3DModelImporters_ea_源"包含了一系列的jar包,它们专门设计用于帮助开发者将不同格式的3D模型导入到JavaFX应用中。这些导入器的早期访问版本(EA)发布于...

    jfx1.2.6示例 实现了java连接MT4

    一个简单的实现了java连接MT4服务的例子

    GameOfLife-JFX:初始项目

    总结,"GameOfLife-JFX:初始项目"是一个很好的学习和实践JavaFX以及理解生命游戏原理的平台。通过这个项目,开发者不仅可以提升JavaFX编程技巧,还能深入理解细胞自动机和复杂系统行为的模拟。

    Mimaki JFX plus Series UJF-3042 透明液体打印指南

    #### 二、透明液体打印介绍 透明液体打印是一种特殊的UV打印技术,通过在基材上应用透明UV墨水,可以实现各种独特的视觉效果。例如,可以在印刷品表面创建立体感强的浮雕效果、增加光泽度或实现局部哑光处理等。...

    NativeJFX:一个使用maven jfx插件和其他工具生成本机可执行文件和安装程序的演示应用程序

    本机JFX 一个使用maven jfx插件和其他工具生成本机可执行文件和安装程序的演示应用程序 构建本机捆绑包(Windows) 安装 5.5.6+ 安装 3.1.0+ 将两个程序都添加到PATH 运行mvn package 注意:制作启动器并与JRE...

    java8看不到源码-JME3-JFX:用于JME的JFXGui桥接器,具有用于常见用例的有用实用程序

    二进制版本可在以下位置获得: ( ) ( ) 它也可以用作 maven 存储库(请参阅“设置我”按钮)。 笔记 对于 jme 3.1: 版本:2.+ 分支:主 对于 jme 3.0(与 jme-3.0.10 兼容): 版本:1.+ 分支:jme_3.0 JME3-JFX ...

    jfx_game_project:game_prject_table_Type

    【标题】"jfx_game_project:game_prject_table_Type"是一个基于JavaFX开发的游戏项目,其核心特性在于利用表格(Table)元素来呈现游戏数据或交互。JavaFX是Oracle公司提供的一个用于创建桌面应用程序的开源Java库,...

    jfx-launcher:openjfx启动器工具

    JFX-Launcher 一个openJfx的自动更新器,采用模块化API加载模块。 原理 在Launcher启动的时候,会对比本地配置与服务端配置是否一致,如果服务端配置与本地不一致,则进行拉取同步。 对比条件: 版本号是否一致 各个...

    MessagingApp-JFX:具有多选项卡用户界面的聊天应用程序

    MessagingApp-JFX 具有多选项卡UI(使用JavaFX构建)的聊天应用程序。 通过TCP / IP进行通信的服务器-客户端模型。 为JVM和Arduino微控制器编写的服务器/后端代码库(测试平台为ESP32s开发板)。 文件传输功能。

    j8draw:JDK8中的JFX 2D和3D绘图

    JDK8中的JFX 2D和3D工程图。 由于它使用的是JFX,因此需要确保您使用的是Oracle的JDK 1.8或更高版本。 如果在Eclipse中运行,由于即使在使用Oracle JDK时默认情况下也无法访问JFX,因此您将需要执行以下步骤,...

    FreshInvoice_jfx82w_FreshInvoice_

    标题中的"FreshInvoice_jfx82w_FreshInvoice_"似乎是指一个特定的版本或构建号,这通常是软件更新或发布时使用的标识符。FreshInvoice是一个知名的开源PHP发票管理软件,它允许用户创建、管理和发送专业发票。这个...

    JFX的简单回顾以及了解

    Button button2 = new Button("按钮二"); Button button3 = new Button("按钮三"); Button button4 = new Button("按钮四"); Button button5 = new Button("按钮五"); flowPane.getChildren().addAll(button1,...

    demux-jfx-core-0.8.2.zip

    标题中的"demux-jfx-core-0.8.2.zip"是一个开源项目的版本压缩包,主要涉及的是JavaFX相关的库或框架。JavaFX是Oracle公司提供的一个用于开发桌面、移动和嵌入式设备的富客户端应用程序的平台。它提供了一组图形和...

    jfxflow:一个简单的示例框架,用于构建使用“流”或“浏览器”样式导航的 JFX 2.0 应用程序,具有导航历史记录和后退、前进等

    jfxflow 一个简单的示例框架,用于构建使用“流”或“浏览器”样式导航的 JFX 2.0 应用程序,以及导航历史记录和后退、前进等。 作者:丹尼尔·兹沃伦斯基 Google Code 上的主页 博客 团体 样品

Global site tag (gtag.js) - Google Analytics