日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

JavaFx实现-渐变效果之一

發布時間:2024/9/20 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaFx实现-渐变效果之一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
自從JavaOne大會推出JavaFX后,我一直比較關注這個項目,它是一種利用Java的腳本技術,功能上近似于Flash。 它的優勢在于,Flash雖有很好的功能和普及度,但它永遠不能交付Java類庫的大部分功能,而 JavaFX可以。因為也給了JavaFX一個“可能性”上的生存空間。



但是由于JavaFX推出的太晚,兼之文檔較少,很多人還是對其望而止步,干等下去也不是辦法。所以我最近空閑時會寫一些JavaFX的小例子以作練習之用。

import?javafx.ui.*;
import?javafx.ui.canvas.*;
//圓點漸變過濾器
class?CircleTransition?extends?CompositeNode?...{
??
//設定參數項?變量名:類型
????attribute?r:?Number;
????attribute?d:?Number;
????attribute?w:?Number;
????attribute?h:?Number;
????attribute?xp:?Number;
????attribute?img:?Image;
}

//為參數賦值
attribute?CircleTransition.r??=?-45;
attribute?CircleTransition.d??
=?16;
attribute?CircleTransition.w??
=?320;
attribute?CircleTransition.h??
=?240;
attribute?CircleTransition.xp?
=?-w;
//注入過濾器參數
function?CircleTransition.composeNode()?=?Group?...{
??content:[Clip?
...{
??
//注入shape
????shape:?Rect?...{?x:0,?y:0,?width:w,?height:h?},
????
//設定偏移
????transform:?translate(10,?40),
????
//注入Group
????content:?Group?...{
????
//加載ImageView用以顯示圖像
??????content:?[ImageView?...{
????????transform:?translate(
-60,?-30),
????????p_w_picpath:?
this.img,
????????
//分段繪制圖像
??????}
,?Subtract?...{
????????shape1:?Rect?
...{?x:0,?y:0,?width:w*4,?height:h*4?},
????????fill:orange,
????????
//bind
????????transform:?bind?[rotate(r,?0,?h),?translate(-w+xp,?0)],
????????shape2:?Union?
...{
??????????content:?[foreach?(j?in?[
0..w/d],?i?in?[0..h/d*2])?Circle?...{
????????????radius:?j,
????????????cx:?w
-j*d,
????????????cy:?i
*d,
??????????}
,?Rect?...{
????????????x:
-w,?y:0,?width:w+w/2,?height:h*2,
??????????}
]
????????}

??????}
],
????}

??}
,?View?...{
????content:?GroupPanel?
...{
?????var?row?
=?Row?...{alignment:?BASELINE}
?????var?column1?
=?Column?...{}
?????var?column2?
=?Column?...{}
?????
//鼠標設為默認
??????cursor:?DEFAULT
??????rows:?[row]
??????columns:?[column1,?column2]
??????content:?[SimpleLabel?
...{
????????row:?row
????????column:?column1
????????text:?
"操作:"
??????}
,?Button?...{
????????row:?row
????????column:?column2
????????opaque:?
false
????????mnemonic:?T
????????text:?
"變更圖像"
????????action:?operation()?
...{
????????????xp?
=?[0,d..w*2]?dur?2000;
????????}

??????}
]
????}

??}

]}
;
Frame?
...{
??title??:?
"JavaFX?-?圖像漸變效果1"
??width??:?
350
??height?:?
350
??content:?Canvas?
...{?content:?CircleTransition...{img:?...{?url:?"p_w_picpath.jpg"?}}?}
??centerOnScreen:?
true
??visible:?
true
}
; ?


效果圖:


第一次寫代碼的感覺就是效率太慢……

由解釋到執行的效率比Swing還不能令人忍受(當然,有代碼優化的余地,但還是太慢)

且拋去效率問題不提,桌面JavaFX現在還有一個比較關鍵的問題,那就是如何部署。對于從前沒有安裝過JRE的用戶來說,JRE體積太大,而且現在從瀏覽器上進行按需安裝(如使用Java Start Web等)的用戶體驗也不是特別好。

目前Sun的官方解決思路是為JRE引入一種新型的部署模型,初次下載時體積非常小,只有在需要時才下載其他的JRE組件。但是具體的效果如何,我們還需拭目以待。

PS:如果Windows能普及jre該有多好啊……

轉載于:https://blog.51cto.com/cping1982/130165

總結

以上是生活随笔為你收集整理的JavaFx实现-渐变效果之一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。