av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Java8新特性探究(十三)JavaFX8新特性以及開(kāi)發(fā)2048游戲

JavaFX主要致力于富客戶端開(kāi)發(fā),以彌補(bǔ)swing的缺陷,主要提供圖形庫(kù)與media庫(kù),支持audio,video,graphics,animation,3D等,同時(shí)采用現(xiàn)代化的css方式支持界面設(shè)計(jì)。同時(shí)又采用XUI方式以XML方式設(shè)計(jì)UI界面,達(dá)到顯示與邏輯的分離。與android這方面確實(shí)有點(diǎn)相似性。

JavaFX歷史

跟java在服務(wù)器端和web端成績(jī)相比,桌面一直是java的軟肋,于是Sun公司在2008年推出JavaFX,彌補(bǔ)桌面軟件的缺陷,請(qǐng)看下圖JavaFX一路走過(guò)來(lái)的改進(jìn)

從上圖看出,一開(kāi)始推出時(shí)候,開(kāi)發(fā)者需使用一種名為JavaFX Script的靜態(tài)的、聲明式的編程語(yǔ)言來(lái)開(kāi)發(fā)JavaFX應(yīng)用程序。因?yàn)镴avaFX Script將會(huì)被編譯為Java bytecode,程序員可以使用Java代碼代替。

JavaFX 2.0之后的版本摒棄了JavaFX Script語(yǔ)言,而作為一個(gè)Java API來(lái)使用。因此使用JavaFX平臺(tái)實(shí)現(xiàn)的應(yīng)用程序?qū)⒅苯油ㄟ^(guò)標(biāo)準(zhǔn)Java代碼來(lái)實(shí)現(xiàn)。

JavaFX 2.0 包含非常豐富的 UI 控件、圖形和多媒體特性用于簡(jiǎn)化可視化應(yīng)用的開(kāi)發(fā),WebView可直接在應(yīng)用中嵌入網(wǎng)頁(yè);另外 2.0 版本允許使用 FXML 進(jìn)行 UI 定義,這是一個(gè)腳本化基于 XML 的標(biāo)識(shí)語(yǔ)言。

從JDK 7u6開(kāi)始,JavaFx就與JDK捆綁在一起了,JavaFX團(tuán)隊(duì)稱,下一個(gè)版本將是8.0,目前所有的工作都已經(jīng)圍繞8.0庫(kù)進(jìn)行。這是因?yàn)镴avaFX將捆綁在Java 8中,因此該團(tuán)隊(duì)決定跳過(guò)幾個(gè)版本號(hào),迎頭趕上Java 8。

JavaFx8的新特性

全新現(xiàn)代主題:Modena

新的Modena主題來(lái)替換原來(lái)的Caspian主題。不過(guò)在Application的start()方法中,可以通過(guò)setUserAgentStylesheet(STYLESHEET_CASPIAN)來(lái)繼續(xù)使用Caspian主題。

參考http://fxexperience.com/2013/03/modena-theme-update/

JavaFX 3D

在JavaFX8中提供了3D圖像處理API,包括Shape3D (Box, Cylinder, MeshView, Sphere子類),SubScene, Material, PickResult, LightBase (AmbientLight 和PointLight子類),SceneAntialiasing等。Camera類也得到了更新。從JavaDoc中可以找到更多信息。

富文本

強(qiáng)化了富文本的支持

TreeTableView

日期控件DatePicker

增加日期控件

用于 CSS 結(jié)構(gòu)的公共 API

  1. CSS 樣式設(shè)置是 JavaFX 的一項(xiàng)主要特性
  2. CSS 已專門在私有 API 中實(shí)現(xiàn)(com.sun.javafx.css 軟件包)
  3. 多種工具(例如 Scene Builder)需要 CSS 公共 API
  4. 開(kāi)發(fā)人員將能夠定義自定義 CSS 樣式

WebView 增強(qiáng)功能

  1. Nashorn JavaScript 引擎 https://blogs.oracle.com/nashorn/entry/open_for_business
  2. WebSocket http://javafx-jira.kenai.com/browse/RT-14947
  3. Web Workers http://javafx-jira.kenai.com/browse/RT-9782

JavaFX Scene Builder 2.0

可視化工具,加速JavaFX圖形界面的開(kāi)發(fā),下載地址

JavaFX Scene Builder如同NetBeans一般,通過(guò)拖拽的方式配置界面,待完成界面之後,保存為FXML格式文件,此文件以XML描述物件配置,再交由JavaFX程式處理,因此可減少直接以JavaFX編寫(xiě)界面的困難度。

JavaFX Scene Builder 2.0新增JavaFX Theme預(yù)覽功能,菜單「Preview」→「JavaFX Theme」選擇不同的主題,包括:

  • Modena (FX8).
  • Modena Touch (FX8).
  • Modena High Contrast – Black on White (FX8).
  • Modena High Contrast – White on Black (FX8).
  • Modena High Contrast – Yellow on Black (FX8).
  • Caspian (FX2).
  • Caspian Embedded (FX2).
  • Caspian Embedded QVGA (FX2).

JavaFX 8開(kāi)發(fā)2048游戲

2048雖然不像前段時(shí)間那么火了,但個(gè)人還是非常喜歡玩2048,空閑時(shí)間都忍不住來(lái)一發(fā),感謝 Gabriele Cirulli 發(fā)明了這了不起 (并且會(huì)上癮)的2048游戲,因?yàn)槭怯肕IT協(xié)議開(kāi)源出來(lái),各種語(yǔ)言版本的2048游戲橫空出世,下圖是用JavaFX 8來(lái)開(kāi)發(fā)的一款2048。

所用到的技術(shù)

  • Lambda expressions
  • Stream API
  • JavaFX 8
  • JavaFX CSS basics
  • JavaFX animations

    fx2048相關(guān)類的說(shuō)明

  • Game2048,游戲主類
  • GameManager,包含游戲界面布局(Board)以及Grid的操作(GridOperator)
  • Board,包含labels ,分?jǐn)?shù),grid ,Tile
  • Tile,游戲中的數(shù)字塊
  • GridOperator,Grid操作類
  • Location,Direction 位置幫助類
  • RecordManager,SessionManager,紀(jì)錄游戲分?jǐn)?shù),會(huì)話類

這里是源碼地址,大家感興趣的可以去學(xué)習(xí)下

總結(jié)

以上的相關(guān)源碼都托管在 這里。

比起AWT和SWING,JavaFX的優(yōu)勢(shì)很明顯,各大主流IDE已經(jīng)支持JavaFX的開(kāi)發(fā)了,***的工具莫過(guò)于NetBeans,且隨著lambda帶來(lái)的好處,JavaFX的事件處理簡(jiǎn)潔了不少,以前需要寫(xiě)匿名函數(shù)類。另外JavaFX開(kāi)源以來(lái),JavaFX的生態(tài)環(huán)境也越來(lái)越活躍了,包括各種教程,嵌入式嘗試,還有一些開(kāi)源項(xiàng)目,比如:ControlsFX,JRebirth,DataFX Flow,mvvmFX,TestFX 等等。還有JavaFX是可以運(yùn)行在Android和ios上面,這個(gè)很贊!

好了,總結(jié)到這里也差不多了,在RIA平臺(tái)上面,有HTML5、Flex和微軟的Sliverlight,JavaFX能否表現(xiàn)優(yōu)秀,在于大家的各位,只要我們多用JavaFX,那么JavaFX也會(huì)越來(lái)越優(yōu)秀,任何語(yǔ)言都是這樣, THE END .

原文出自:http://my.oschina.net/benhaile/blog/335109


名稱欄目:Java8新特性探究(十三)JavaFX8新特性以及開(kāi)發(fā)2048游戲
標(biāo)題網(wǎng)址:http://uogjgqi.cn/article/dpohgho.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流