- 浏览: 386855 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
793059909:
scala> def count(x:Double,n: ...
快学Scala习题解答—第二章 控制结构和函数 -
793059909:
scala> def countdown(n:Int){ ...
快学Scala习题解答—第二章 控制结构和函数 -
daquan198163:
可是奇慢无比啊,切换个页签得等一分钟啊!!!!!!!!
误会ZK Studio了!Sorry,Sorry! -
rmn190:
受教了, 今天我第一天遇到这个问题, 以前没想到fmt标签还跟 ...
JSP中的国际化(转) -
suu:
都是栈里的拷贝 这句话让我从一头雾水到豁然开朗 谢谢了.
争论话题:Java传值还是传引用?
Lesson 6: Operators
目录:
- 连接操作符
- 运算操作符
- 一元操作符
- 关系操作符
- 条件操作符
- 类型比较操作符
-连接操作符
链接操作符"="是你最常用的操作符之一。使用"=",可以将其右边的值赋给左边的变量。
在前面的章节里面,你已经使用了很多次了。
-运算操作符
运算操作符提供加,减,乘,除的功能。"mod"操作符为求余!
+ (additive operator)
- (subtraction operator)
* (multiplication operator)
/ (division operator)
mod (remainder operator)
下面提供一些例子:
你还能同时使用运算操作符和连接运算符构成复合运算符。例如 result += 1; 和 result = result+1;两者的效果都是result加上了1.
只有"mod"操作符不能这么写。如果你想求一个数被2除的余数,你需要这么写:
-一元操作符
大部分的操作符需要两个操作数;而一元操作符只需要一个操作数,对操作数进行加/减操作,取负数,如果操作数为boolean,则可以取逻辑反,等操作。
- Unary minus operator; negates a number
++ Increment operator; increments a value by 1
-- Decrement operator; decrements a value by 1
not Logical complement operator; inverts the value of a boolean
例子:
++/--操作符既可以在操作数的前面,也可以在操作数的后面。result++和++result运算的最后效果都是result加1。唯一的区别是result++是先取值后加1,++result是先加1再取值。如果你只是做简单的+/-,那么你用哪种方法都没有影响。但是,如果你在一个复杂的表达式里面使用,那么两种方法可能会不同。
下面的代码演示他们的区别:
-关系操作符
关系操作符用来比较一个操作数是否大于,小于,等于或不等于另一个数。
== equal to
!= not equal to
> greater than
>= greater than or equal to
< less than
<= less than or equal to
下面的代码测试这些操作符:
-条件操作符
条件and和条件or是用在两个boolean表达式间的操作符。这两个操作符有"short-circuiting"的特性,就是第二个操作数只有在需要的时候才执行。举个例子,对于and操作符,如果第一个表达式的执行结果是false,那么第二个表达式就不会执行了,当第一个表达式为true的时候,第二个表达式才会执行。
and
or
下面是例子:
输出:
Test 1: username AND password are correct
Test 3: username OR password is correct
Test 4: username OR password is correct
-类型比较操作符
instanceof操作符判断一个对象是否是一个特定的类型。你可以使用此操作符来判断,一个对象是否是一个特定的类。
在学了以后的类和继承章节后,你会发现这个操作符很有用。
Lesson 7: Expressions
目录:
- 块表达式
- if表达式
- 范围表达式
- for表达式
- while表达式
- break和continue表达式
- throw, try, catch 和 finally表达式
-块表达式
块表达式包含一系列的声明或表达式,由大括号包围,且以分号隔开。块表达式的值是块里面最后的表达式的值。如果块里面没有表达式,块表达式就是Void类型。注意,var和def是表达式。
下面的块表达式添加了一些成员并把结果存放在total变量里面:
输出:
Total is 24.
第一行 (var nums = [5, 7, 3, 9];) 声明了一个整型的序列。
接着声明了一个total变量来保存序列里面的值的总和。
块表达式,为大括号里面的所有代码:
在括号里面,第一行声明了一个变量sum,来保存序列里面的成员。第二行循环序列,取出序列里的成员与sum相加。最后一行,为返回块表达式的值。
-if表达式
if表达式表达式可以根据特定的条件执行特定的一段代码。
例如,下面的代码根据年龄设置票价。12-65岁票价10元。老人和小孩5元。5岁一下的免费。
年龄设为8时,输出如下:
Age: 8 Ticket Price: 5 dollars.
程序流程如下:
如果年龄小于5,票价为0.那么程序就会跳过其他的判断,直接打印出结果。
如果不小于5,那么程序跳转到第二个判断。
if (age < 5 ) {
ticketPrice = 0;
} else if (age > 5 and age < 12) {
ticketPrice = 5;
} else {
ticketPrice = 10;
}
如果年龄在5-12岁,票价为5.
如果大于或等于12岁,就跳到了else语句里面。
if (age < 5 ) {
ticketPrice = 0;
} else if (age > 5 and age < 12) {
ticketPrice = 5;
} else {
ticketPrice = 10;
}
这个块,只有在前面的条件都不符合的情况下才执行。设置12岁及以上的人的票价为12.
Note: 上面的代码可简写为:
你最好掌握,在后面的章节将会用到。
-范围表达式
在序列那一讲,你了解到了如果简单的定义一个有序的数字序列。
理论上,[0..5]就是个范围表达式。默认的,数字间递增1,但是你可以使用step关键字来修改递增的值。例如,定义一个1到10之间的所有奇数的序列。
输出
[ 1, 3, 5, 7, 9 ]
要创建一个递减的范围,请保证第二个数要小于第一个数,并且要将step设为一个负数。
输出:
[ 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ]
如果你创建了一个递减的序列,但是没有设定step的值,你将会得到一个空的序列。
下面的代码:
将会在编译的时候出现警告:
如果你忽略了警告,那你得到的是个空的序列。
-for表达式
另一个和序列有关的表达式是for表达式。for表达式提供一个简便的循环结构来遍历序列里的所有项。
下面是个例子:
输出:
Mon
Tue
Wed
Thu
Fri
Sat
Sun
让我们来分析这段代码。for表达式以for开头
days变量是序列的名称,for表达式将遍历此序列。
day变量依次持有序列里的项
注意,day变量并不需要声明就可以在for表达式里面使用了。并且,for表达式结束后,day无法被访问。程序员经常给临时变量一个简短的名字以示区别。
在前面的例子里面,for没有显示的返回值。但是for返回一个序列。下面的两个例子来使用for来从一个序列创建另一个序列。
注意了,toUpperCase方法由String提供。你能在API里找到完整定义。
-while表达式
另一个循环表达式是while表达式。和for不同,不是遍历序列的,而是根据条件来循环的。while是一个语义(syntactically)上的表达式,为Void类型,没有返回值。
给个例子:
输出:
count == 0
count == 1
count == 2
count == 3
count == 4
count == 5
count == 6
count == 7
count == 8
count == 9
第一行声明了一个变量count并初始化为0
接着开始while表达式。表达式循环,知道count为10为止。
循环体中,打印count值,并加1。
当count为10时,循环结束。如果要创建一个无限循环,条件里改为true关键字,就像这样: while(true){}
-break和continue表达式
break和continue表达式和循环表达式有关。这两个表达式是作用于循环上的:break终止循环,continue跳过当前的循环。
brean和continue是语义(syntactically)表达式。他们为Void类型,没有返回值。
例子:
输出:
1
3
5
如果没有if表达式,程序将会简单的输出:0到10。
如果只有第一个if表达式,程序将在i比5大的时候跳出循环。
程序将只打印1到5。
加上第二个if后,程序会间隔的执行循环。
这里,表达式只有在i为偶数的时候才执行continue。当continue执行的时候,println()将不会被执行,也就不会打印了。
-throw, try, catch 和 finally表达式
在现实世界的应用里面,有时可能会出现不正常的程序流程。例如,一段脚本读取文件,但是文件找不到,那么这段脚本就无法执行了。我们将这种情况称为"异常"。
Note:异常是对象。一般可以从字面意思上知道他们表示的是什么异常。(例如,FileNotFoundException表示了无法找到文件。)但是,下面的例子并不是来展现各种各样的异常的。所以,以普通的异常来说明throw, try, catch, 和 finally
下面的脚本定义一个方法并抛出异常:
运行,输出:
We made it through the function.
The script is now executing as expected...
但是,将变量改为true,异常将被抛出。在运行时,脚本将会中断,并打印如下信息:
Exception in thread "main" java.lang.Exception: Something weird just happened!
at exceptions.foo(exceptions.fx:10)
at exceptions.javafx$run$(exceptions.fx:3)
要阻止程序被异常终端,我们需要用try/catch来捕获foo()抛出的异常。由名字来看,这个表达式的作用是,try执行一些代码,但是发生了问题就catch到了一个异常。
现在,程序打印:
Something weird just happened! (but we caught it)
The script is now executing as expected...
还有个finally块 (这个不能算得上是个表达式),不论是否有异常,finally块里的代码都会被执行。finally块一般是用来做清理工作的。
程序输出:
Something weird just happened! (but we caught it)
We are now in the finally expression...
The script is now executing as expected...
不错,感觉JavaFx像JavaScript又借签了些Ruby的语法,感觉很舒服,学习难度一点不大。真好。昨天又上www.javafx.com好象Sample又增加了不少,后面的真是酷蓖了。
就缺Linux下的开发包了
目录:
- 连接操作符
- 运算操作符
- 一元操作符
- 关系操作符
- 条件操作符
- 类型比较操作符
-连接操作符
链接操作符"="是你最常用的操作符之一。使用"=",可以将其右边的值赋给左边的变量。
result = num1 + num2; days = ["Mon","Tue","Wed","Thu","Fri"];
在前面的章节里面,你已经使用了很多次了。
-运算操作符
运算操作符提供加,减,乘,除的功能。"mod"操作符为求余!
+ (additive operator)
- (subtraction operator)
* (multiplication operator)
/ (division operator)
mod (remainder operator)
下面提供一些例子:
var result = 1 + 2; // result is now 3 println(result); result = result - 1; // result is now 2 println(result); result = result * 2; // result is now 4 println(result); result = result / 2; // result is now 2 println(result); result = result + 8; // result is now 10 println(result); result = result mod 7; // result is now 3 println(result);
你还能同时使用运算操作符和连接运算符构成复合运算符。例如 result += 1; 和 result = result+1;两者的效果都是result加上了1.
var result = 0; result += 1; println(result); // result is now 1 result -= 1; println(result); // result is now 0 result = 2; result *= 5; // result is now 10 println(result); result /= 2; // result is now 5 println(result);
只有"mod"操作符不能这么写。如果你想求一个数被2除的余数,你需要这么写:
result = result mod 2;
-一元操作符
大部分的操作符需要两个操作数;而一元操作符只需要一个操作数,对操作数进行加/减操作,取负数,如果操作数为boolean,则可以取逻辑反,等操作。
- Unary minus operator; negates a number
++ Increment operator; increments a value by 1
-- Decrement operator; decrements a value by 1
not Logical complement operator; inverts the value of a boolean
例子:
var result = 1; // result is now 1 result--; // result is now 0 println(result); result++; // result is now 1 println(result); result = -result; // result is now -1 println(result); var success = false; println(success); // false println(not success); // true
++/--操作符既可以在操作数的前面,也可以在操作数的后面。result++和++result运算的最后效果都是result加1。唯一的区别是result++是先取值后加1,++result是先加1再取值。如果你只是做简单的+/-,那么你用哪种方法都没有影响。但是,如果你在一个复杂的表达式里面使用,那么两种方法可能会不同。
下面的代码演示他们的区别:
var result = 3; result++; println(result); // result is now 4 ++result; println(result); // result is now 5 println(++result); // result is now 6 println(result++); // this still prints prints 6! println(result); // but the result is now 7
-关系操作符
关系操作符用来比较一个操作数是否大于,小于,等于或不等于另一个数。
== equal to
!= not equal to
> greater than
>= greater than or equal to
< less than
<= less than or equal to
下面的代码测试这些操作符:
def num1 = 1; def num2 = 2; println(num1 == num2); // prints false println(num1 != num2); // prints true println(num1 > num2); // prints false println(num1 >= num2); // prints false println(num1 < num2); // prints true println(num1 <= num2); // prints true
-条件操作符
条件and和条件or是用在两个boolean表达式间的操作符。这两个操作符有"short-circuiting"的特性,就是第二个操作数只有在需要的时候才执行。举个例子,对于and操作符,如果第一个表达式的执行结果是false,那么第二个表达式就不会执行了,当第一个表达式为true的时候,第二个表达式才会执行。
and
or
下面是例子:
def username = "foo"; def password = "bar"; if ((username == "foo") and (password == "bar")) { println("Test 1: username AND password are correct"); } if ((username == "") and (password == "bar")) { println("Test 2: username AND password is correct"); } if ((username == "foo") or (password == "bar")) { println("Test 3: username OR password is correct"); } if ((username == "") or (password == "bar")) { println("Test 4: username OR password is correct"); }
输出:
Test 1: username AND password are correct
Test 3: username OR password is correct
Test 4: username OR password is correct
-类型比较操作符
instanceof操作符判断一个对象是否是一个特定的类型。你可以使用此操作符来判断,一个对象是否是一个特定的类。
def str1="Hello"; println(str1 instanceof String); // prints true def num = 1031; println(num instanceof java.lang.Integer); // prints true
在学了以后的类和继承章节后,你会发现这个操作符很有用。
Lesson 7: Expressions
目录:
- 块表达式
- if表达式
- 范围表达式
- for表达式
- while表达式
- break和continue表达式
- throw, try, catch 和 finally表达式
-块表达式
块表达式包含一系列的声明或表达式,由大括号包围,且以分号隔开。块表达式的值是块里面最后的表达式的值。如果块里面没有表达式,块表达式就是Void类型。注意,var和def是表达式。
下面的块表达式添加了一些成员并把结果存放在total变量里面:
var nums = [5, 7, 3, 9]; var total = { var sum = 0; for (a in nums) { sum += a }; sum; } println("Total is {total}.");
输出:
Total is 24.
第一行 (var nums = [5, 7, 3, 9];) 声明了一个整型的序列。
接着声明了一个total变量来保存序列里面的值的总和。
块表达式,为大括号里面的所有代码:
{ var sum = 0; for (a in nums) { sum += a }; sum; }
在括号里面,第一行声明了一个变量sum,来保存序列里面的成员。第二行循环序列,取出序列里的成员与sum相加。最后一行,为返回块表达式的值。
-if表达式
if表达式表达式可以根据特定的条件执行特定的一段代码。
例如,下面的代码根据年龄设置票价。12-65岁票价10元。老人和小孩5元。5岁一下的免费。
def age = 8; var ticketPrice; if (age < 5 ) { ticketPrice = 0; } else if (age < 12 or age > 65) { ticketPrice = 5; } else { ticketPrice = 10; } println("Age: {age} Ticket Price: {ticketPrice} dollars.");
年龄设为8时,输出如下:
Age: 8 Ticket Price: 5 dollars.
程序流程如下:
[b]if (age < 5 ) { ticketPrice = 0; } [/b]else if (age > 5 and age < 12) { ticketPrice = 5; } else { ticketPrice = 10; }
如果年龄小于5,票价为0.那么程序就会跳过其他的判断,直接打印出结果。
如果不小于5,那么程序跳转到第二个判断。
if (age < 5 ) {
ticketPrice = 0;
} else if (age > 5 and age < 12) {
ticketPrice = 5;
} else {
ticketPrice = 10;
}
如果年龄在5-12岁,票价为5.
如果大于或等于12岁,就跳到了else语句里面。
if (age < 5 ) {
ticketPrice = 0;
} else if (age > 5 and age < 12) {
ticketPrice = 5;
} else {
ticketPrice = 10;
}
这个块,只有在前面的条件都不符合的情况下才执行。设置12岁及以上的人的票价为12.
Note: 上面的代码可简写为:
ticketPrice = if (age < 5) 0 else if (age > 5 and age < 12) 5 else 10;
你最好掌握,在后面的章节将会用到。
-范围表达式
在序列那一讲,你了解到了如果简单的定义一个有序的数字序列。
var num = [0..5];
理论上,[0..5]就是个范围表达式。默认的,数字间递增1,但是你可以使用step关键字来修改递增的值。例如,定义一个1到10之间的所有奇数的序列。
var nums = [1..10 step 2]; println(nums);
输出
[ 1, 3, 5, 7, 9 ]
要创建一个递减的范围,请保证第二个数要小于第一个数,并且要将step设为一个负数。
var nums = [10..1 step -1]; println(nums);
输出:
[ 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ]
如果你创建了一个递减的序列,但是没有设定step的值,你将会得到一个空的序列。
下面的代码:
var nums = [10..1 step 1]; println(nums);
将会在编译的时候出现警告:
range.fx:1: warning: empty sequence range literal, probably not what you meant. var nums = [10..1 step 1]; ^ 1 warning
如果你忽略了警告,那你得到的是个空的序列。
-for表达式
另一个和序列有关的表达式是for表达式。for表达式提供一个简便的循环结构来遍历序列里的所有项。
下面是个例子:
var days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]; for (day in days) { println(day); }
输出:
Mon
Tue
Wed
Thu
Fri
Sat
Sun
让我们来分析这段代码。for表达式以for开头
[b]for[/b] (day in days) { println(day); }
days变量是序列的名称,for表达式将遍历此序列。
for (day in [b]days[/b]) { println(day); }
day变量依次持有序列里的项
for ([b]day[/b] in days) { println(day); }
注意,day变量并不需要声明就可以在for表达式里面使用了。并且,for表达式结束后,day无法被访问。程序员经常给临时变量一个简短的名字以示区别。
在前面的例子里面,for没有显示的返回值。但是for返回一个序列。下面的两个例子来使用for来从一个序列创建另一个序列。
// Resulting sequence squares the values from the original sequence. var squares = for (i in [1..10]) i*i; // Resulting sequence is ["MON", "TUE", "WED", and so on...] var capitalDays = for (day in days) day.toUpperCase();
注意了,toUpperCase方法由String提供。你能在API里找到完整定义。
-while表达式
另一个循环表达式是while表达式。和for不同,不是遍历序列的,而是根据条件来循环的。while是一个语义(syntactically)上的表达式,为Void类型,没有返回值。
给个例子:
var count = 0; while (count < 10) { println("count == {count}"); count++; }
输出:
count == 0
count == 1
count == 2
count == 3
count == 4
count == 5
count == 6
count == 7
count == 8
count == 9
第一行声明了一个变量count并初始化为0
[b]var count = 0;[/b] while (count < 10) { println("count == {count}"); count += 1; }
接着开始while表达式。表达式循环,知道count为10为止。
var count = 0; [b]while (count < 10) {[/b] println("count == {count}"); count += 1; }
循环体中,打印count值,并加1。
var count = 0; while (count < 10) { [b]println("count == {count}"); count += 1;[/b] }
当count为10时,循环结束。如果要创建一个无限循环,条件里改为true关键字,就像这样: while(true){}
-break和continue表达式
break和continue表达式和循环表达式有关。这两个表达式是作用于循环上的:break终止循环,continue跳过当前的循环。
brean和continue是语义(syntactically)表达式。他们为Void类型,没有返回值。
例子:
for (i in [0..10]) { if (i > 5) { break; } if (i mod 2 == 0) { continue; } println(i); }
输出:
1
3
5
如果没有if表达式,程序将会简单的输出:0到10。
如果只有第一个if表达式,程序将在i比5大的时候跳出循环。
if (i > 5) { break; }
程序将只打印1到5。
加上第二个if后,程序会间隔的执行循环。
if (i mod 2 == 0) { continue; }
这里,表达式只有在i为偶数的时候才执行continue。当continue执行的时候,println()将不会被执行,也就不会打印了。
-throw, try, catch 和 finally表达式
在现实世界的应用里面,有时可能会出现不正常的程序流程。例如,一段脚本读取文件,但是文件找不到,那么这段脚本就无法执行了。我们将这种情况称为"异常"。
Note:异常是对象。一般可以从字面意思上知道他们表示的是什么异常。(例如,FileNotFoundException表示了无法找到文件。)但是,下面的例子并不是来展现各种各样的异常的。所以,以普通的异常来说明throw, try, catch, 和 finally
下面的脚本定义一个方法并抛出异常:
import java.lang.Exception; foo(); println("The script is now executing as expected... "); function foo() { var somethingWeird = false; if(somethingWeird){ throw new Exception("Something weird just happened!"); } else { println("We made it through the function."); } }
运行,输出:
We made it through the function.
The script is now executing as expected...
但是,将变量改为true,异常将被抛出。在运行时,脚本将会中断,并打印如下信息:
Exception in thread "main" java.lang.Exception: Something weird just happened!
at exceptions.foo(exceptions.fx:10)
at exceptions.javafx$run$(exceptions.fx:3)
要阻止程序被异常终端,我们需要用try/catch来捕获foo()抛出的异常。由名字来看,这个表达式的作用是,try执行一些代码,但是发生了问题就catch到了一个异常。
try { foo(); } catch (e: Exception) { println("{e.getMessage()} (but we caught it)"); }
现在,程序打印:
Something weird just happened! (but we caught it)
The script is now executing as expected...
还有个finally块 (这个不能算得上是个表达式),不论是否有异常,finally块里的代码都会被执行。finally块一般是用来做清理工作的。
try { foo(); } catch (e: Exception) { println("{e.getMessage()} (but we caught it)"); } finally { println("We are now in the finally expression..."); }
程序输出:
Something weird just happened! (but we caught it)
We are now in the finally expression...
The script is now executing as expected...
评论
8 楼
liyaxi
2009-02-15
好好! 搞几个自己做出的教程!:idea:
7 楼
xiaojiit
2008-12-11
不过自己感觉NetBeans的开发工具,要是能像Flex Bulider之后那样能实实显示就更好了,你们感觉对吗?
6 楼
gakaki
2008-12-11
这语法棒 js+ruby 看来在语言特性上 javafx是要比SL和AS好
5 楼
Ivan_Pig
2008-12-11
xpf7622 写道
不错,感觉JavaFx像JavaScript又借签了些Ruby的语法,感觉很舒服,学习难度一点不大。真好。昨天又上www.javafx.com好象Sample又增加了不少,后面的真是酷蓖了。
就缺Linux下的开发包了
4 楼
Ivan_Pig
2008-12-11
语法比较简单,我看起来也好理解,所以翻译速度还不错。
还有四节,这两天应该能搞定。
还有四节,这两天应该能搞定。
3 楼
xpf7622
2008-12-11
不错,感觉JavaFx像JavaScript又借签了些Ruby的语法,感觉很舒服,学习难度一点不大。真好。昨天又上www.javafx.com好象Sample又增加了不少,后面的真是酷蓖了。
2 楼
rubyeye
2008-12-10
一口气看完了
请LZ继续都翻了
请LZ继续都翻了
1 楼
h819
2008-12-10
老兄,过两天,就跟着你的教程学一下
发表评论
-
JavaFX与后台交互
2009-04-05 22:16 9896目前JavaFX相关的资料都是基本语法,以及界面相关。 ... -
Flex使用点滴
2009-03-10 14:30 0学习Grails时,发现Grails可以和Flex集成 ... -
JavaFX GUI------1动画效果
2009-02-24 22:50 5629之前翻译了JavaFX Script,后来一段时间就 ... -
学习JavaFX脚本语言(翻译)pdf下载
2008-12-19 14:35 7231呵呵,JavaEye提供的制作pdf功能真是太好了。 之前比较 ... -
学习JavaFX脚本语言----10,11(完)
2008-12-12 16:30 2689Lesson 10: Packages 目录 - St ... -
学习JavaFX脚本语言----8,9
2008-12-11 18:01 2385Lesson 8: Data Binding and Trig ... -
学习JavaFX脚本语言----5
2008-12-09 20:23 2242Lesson 5: Sequences 目录 - 创建 ... -
学习JavaFX脚本语言----3,4
2008-12-07 16:52 2306Lesson 3: Using Objects 目录 - ... -
学习JavaFX脚本语言----1,2
2008-12-06 21:39 4098很遗憾,JavaFX目前没有发布Linux版本!我使用 ... -
JavaFX Demo学习2-----ImageRollover
2008-11-10 22:46 3867今天偷个懒。一个很简单的程序,响应鼠标事件,效果如下。代码在附 ... -
JavaFX Demo学习1-----Clock
2008-11-09 14:25 5900第一个附件是使用JavaFX编写一个Clock的教程,很详细。 ... -
JavaFX学习准备工作
2008-11-08 15:19 3010找了一遍网络,现在最好的JavaFX开发工具应该就是NetBe ... -
NetBeans6.1---新的JavaFX开发体验
2008-11-07 23:56 1818之前看过一点JavaFX,后来就没再关心。这几天看网上 ... -
JavaFX学习笔记
2008-03-13 11:07 28591.JavaFX是一种静态输入的语言 与javascr ... -
Netbeans5.5.1的JavaFX插件好像有问题
2007-12-25 15:00 1484如下语法。。应该没问题的。。 在eclipse下运行成功。。 ...
相关推荐
这个压缩包文件“学习JavaFX脚本语言_翻译_.pdf”显然是一个关于JavaFX编程的中文教程,对于想要深入理解JavaFX的人来说,这是一个宝贵的资源。 JavaFX最初是Sun Microsystems开发的,后来被Oracle收购并继续发展。...
学习JavaFX脚本语言,你需要掌握如何声明和操作对象,以及如何利用它的图形和动画功能创建动态用户界面。随着对JavaFX深入的理解,你可以创建出交互性强、视觉效果丰富的应用程序。而要更进一步,还可以学习如何编写...
3. **bin**: 这个目录通常包含可执行文件和脚本,如JavaFX的编译器`javac`和链接器`javafxpackager`。这些工具允许开发者编译和打包JavaFX应用程序,使其可以在不同平台上运行。 4. **src**: 可能包含了示例代码或...
深入学习JavaFX脚本语言,意味着我们将探讨其语法、特性以及如何利用它来构建动态的应用程序。 JavaFX最初引入了一种名为JavaFX Script的专用脚本语言,但后来在JavaFX 2.0中,JavaFX Script被Java API所取代,使得...
JavaFX是Oracle公司推出的一种用于创建富互联网应用程序(RIA)的平台,它允许开发者使用JavaFX脚本语言或Java编程语言来构建具有丰富图形界面的应用程序。JavaFX 1.2是该技术的一个早期版本,提供了许多创新特性,...
在开始学习 JavaFX Script 编程语言之前,需要在系统上安装 JDK 6 或 JDK 5,然后再继续学习本教程。 knowledge point 1: 安装 JDK 在学习 JavaFX Script 编程语言之前,需要在系统上安装 JDK 6 或 JDK 5。这是...
javafx语言中文教程,内附代码,有助于学习理解!
1. JavaFX Script:JavaFX 的脚本语言,用于开发 JavaFX 应用程序。 2. JavaFX API:JavaFX 的应用程序编程接口,用于开发 JavaFX 应用程序。 3. JavaFX Graphics:JavaFX 的图形编程接口,用于开发 JavaFX 应用程序...
本教程将指导您从基础知识开始学习JavaFX脚本语言。 JavaFX概述 JavaFX是一种新的脚本语言,由Sun Microsystems开发,用于开发RIA。JavaFX脚本语言基于Java平台,可以在Java虚拟机(JVM)上运行。JavaFX的主要特点...
《深入学习JavaFX脚本编程语言》:现代GUI应用程序开发的高效工具 一、JavaFX脚本编程语言概述 JavaFX脚本编程语言是专为创建具有现代化图形用户界面(GUI)的应用程序而设计的一种高级编程语言。它以其声明式的...
JavaFX Script是一种基于Java的脚本语言,它结合了Java的强大特性和动态脚本语言的灵活性。JavaFX Script最初由Sun Microsystems于2007年的JavaOne大会上发布,并被视为构建丰富内容应用程序的关键工具之一。它提供...
Oracle宣布停止对JavaFX脚本语言的支持,并将JavaFX的部分API集成到Java标准库中,使得JavaFX成为开发跨平台富客户端应用的理想选择。 - **JavaFX2.0新特性**: - **API整合**:将原有的JavaFX脚本API集成到了Java...
- JavaFX应用程序可以使用Java、Kotlin、Scala等JVM语言编写,也可以用Scene Builder设计界面布局。 2. **JavaFX中的节点(Node)**: - 节点是JavaFX图形场景图的基本构建块,包括按钮、文本框、图像视图等。 -...
JavaFX Script是Oracle公司推出的一种用于创建富互联网应用程序(RIA)的脚本语言,它专门设计用来构建桌面和Web上的图形用户界面。虽然JavaFX Script的流行度在JavaFX后来转向Java语言API后逐渐降低,但它依然为...
为了满足这些需求,Sun Microsystems 推出了 JavaFX Script,这是一种专为创建丰富的互联网客户端应用程序而设计的动态脚本语言。本文将基于提供的文档信息对 JavaFX Script 的核心概念、优势以及应用场景进行深入...
对于Swing程序员来说,学习JavaFX Script 可以拓宽他们的技能范围,为他们提供更现代的UI开发工具。Swing虽然功能强大,但在视觉效果和交互性上可能略显传统,而JavaFX Script 则提供了更先进的解决方案。 这个...
学习JavaFX Script的最佳起点是官方提供的教程,该教程详细介绍了JavaFX Script的核心概念和语言语法。通过这个教程,开发者可以逐步掌握JavaFX Script的基础知识,并进一步了解如何构建图形用户界面(GUI)应用程序...
1. **高生产力的脚本语言**:JavaFX脚本语言设计得易于学习且表达能力强,支持声明式的编程风格,使得开发者可以专注于应用程序逻辑而非底层实现细节。 2. **静态类型**:虽然JavaFX脚本语言采用了类似脚本语言的...
10. **使用脚本语言**:如果需要,可以通过绑定和表达式在FXML中使用Java脚本来增强功能。 11. **使用样式表**:应用CSS样式表,以实现自定义的视觉效果和主题。 通过以上步骤,我们将能够完全理解如何使用FXML来...
- **Oracle 接手**:Oracle 收购 Sun 后,在 2010 年 JavaOne 大会上宣布将停止对 JavaFX 脚本语言的支持,并将 JavaFX 的 API 导入 Java,这意味着 Java 开发者无需学习新的脚本语言即可利用 JavaFX 的功能。...