日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java8新特性探究(十三)JavaFX8新特性以及開發(fā)2048游戲

JavaFX主要致力于富客戶端開發(fā),以彌補(bǔ)swing的缺陷,主要提供圖形庫與media庫,支持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端成績相比,桌面一直是java的軟肋,于是Sun公司在2008年推出JavaFX,彌補(bǔ)桌面軟件的缺陷,請看下圖JavaFX一路走過來的改進(jìn)

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

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

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

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

JavaFx8的新特性

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

新的Modena主題來替換原來的Caspian主題。不過在Application的start()方法中,可以通過setUserAgentStylesheet(STYLESHEET_CASPIAN)來繼續(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. 開發(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圖形界面的開發(fā),下載地址

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

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開發(fā)2048游戲

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

所用到的技術(shù)

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

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

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

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

總結(jié)

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

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

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

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


新聞名稱:Java8新特性探究(十三)JavaFX8新特性以及開發(fā)2048游戲
文章轉(zhuǎn)載:http://www.5511xx.com/article/dpohgho.html