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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java8 javafx_Java 8的新增功能(第1部分– JavaFX)

發布時間:2023/12/3 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java8 javafx_Java 8的新增功能(第1部分– JavaFX) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java8 javafx

免責聲明:我不為Oracle工作,也不以任何方式代表Oracle。 此功能列表不是官方的。 作為“局外人”,這只是我研究的一部分。

Java 8已在大約兩個月前完成了功能,并且開發者預覽版即將到來(兩周后)。 這篇博客文章將詳細介紹下一個主要版本中的新功能,重點放在UIFX庫JavaFX 8上。 JavaFX發行版本現在與Java發行版本相當,這就是為什么它從2.2躍升到8的原因。

這是由三部分組成的系列文章的第一部分。 第一部分將重點討論Oracle正式告訴開發人員應該在JavaFX 8中發布的內容,第二部分將主要是投機性的,并列出我認為可能會出現的內容,但尚未正式報道。 最后一部分重點討論Java 8即將發布的其余部分,但UI庫除外(例如,新的語言功能等)。

發布日期

最初的時間表旨在于2013年9月上旬發布該版本,但是由于最近關注與瀏覽器相關的安全問題 ,因此該日期無法實現。 新的時間表如下:

  • 2013/06/13 –功能完成

所有功能以及單元測試均已實現并集成到主目錄林中。

  • 2013/09/05 –開發人員預覽

發布了適合開發人員社區進行廣泛測試的合理穩定的版本。 除非另有說明,否則此版本將包括所有計劃的功能。

  • 2014/01/23 –最終版本候選

必須聲明最終候選版本并提交進行測試的日期。 在計劃的ZBB日期之后將宣布一個或多個候選發布者; 如果在此里程碑之后有其他要求,則通用發布日期將受到威脅。

  • 2014/03/18 –全面上市

最終版本,準備投入生產。

為此,我還要補充一點,我已經在Java 8下開發基于Java的應用程序一個多月了,并認為它相當穩定。 我也沒有使用任何正在開發的功能(例如3D圖形),所以我不能在這部分說什么。

您已經可以在這里獲得JDK8的早期訪問版本: http ://jdk8.java.net/download.html

在該站點上,您還可以下載一些示例應用程序,您可以在其中瞥見已經可以做的事情。

新功能

以下列表將特別關注即將推出的最相關功能。 在此發行版中,所有即將推出的新功能和對現有功能的更改的列表尤其龐大,可能其中一些相關功能可能已引起我的注意,而我卻未提及。

富文本支持

富文本支持將通過TextFlow類添加到JavaFX 8中。

這將使您能夠:

  • 樣式化單個單詞;
  • 對單詞施加效果
  • 應用變換
  • 在文本中嵌入節點
  • 支持Bidi文本,即同時包含從右到左 (RTL)和從左到右 (LTR)兩種文本方向的文本的文本
  • 創建可以通過CSS單獨設置樣式的文本

有關更多詳細信息,請訪問以下鏈接:

  • 富文本API詳細信息: https : //wikis.oracle.com/display/OpenJDK/Rich+Text+API+Details
  • 樣本和代碼片段: https : //wikis.oracle.com/display/OpenJDK/Rich+Text+API+Samples

擺動節點

Swing節點將允許您將swing組件嵌入javafx場景內。 相反的支持,即已經可以通過JFXPanel將Javafx場景嵌入到swing應用程序中。

有關API規范和簡單示例,請訪問: http : //download.java.net/jdk8/jfxdocs/javafx/embed/swing/SwingNode.html

控件API的更改

控件API會發生一些變化,這對于第三方控件提供者尤其重要:

  • 將公開的皮膚課程; SkinBase類將成為公共類,但是Behavior類和子類仍是私有實現,在JavaFX 8之后,仍有一些工作要做。
  • 新CSS API,將允許您為控件和自定義偽類定義自定義屬性-有關其他詳細信息,請參見: https : //wiki.openjdk.java.net/display/OpenJFX/CSS+API+to+support +自定義+ UI +控件

錄像和錄音

將添加對視頻和音頻錄制的支持。

您可以觀看此視頻演示文稿以了解更多詳細信息(跳至第39分鐘以查看實際的示例應用程序): http : //www.youtube.com/watch?v=jaPUbzfJx2A

打印支持

打印支持將添加到JavaFX。 您可以查看Carl Dea的這篇詳細博客文章,以了解更多詳細信息: http : //carlfx.wordpress.com/2013/07/15/introduction-by-example-javafx-8-printing/

帶有名為Modena的新主題的新外觀

借助名為Modena的新主題,外觀得到了顯著改善。 這次考慮了很多開發人員的反饋,以使最終結果非常好。

可以在這里找到更多詳細信息: http : //fxexperience.com/2013/03/modena-theme-update/

新的DatePicker和TreeTable控件

JavaFX 8將具有DatePicker和TreeTable控件:

  • 日期選擇器

用戶體驗文檔: http : //openjdk.java.net/projects/openjfx/ux/datePicker/

實際的DatePicker屏幕截圖:

更新:Jim Weaver撰寫了有關DatePicker控件的文章,您可以在這里找到他的文章– http://learnjavafx.typepad.com/weblog/2013/08/quick-and-dirty-javafx-8-datepicker-example.html

  • 樹表

API示例: https : //wikis.oracle.com/display/OpenJDK/TreeTableView+API+Examples

用戶體驗文檔: https : //wikis.oracle.com/display/OpenJDK/TreeTableView+User+Experience+Documentation

WebView增強功能

WebView添加了以下增強功能:

  • Nashorn JavaScript引擎( 更新:我并不是說Nashorn將成為Webview Javascript引擎。我只是說Nashorn將可用于Java8

Nashorn的目標是使用本機JVM在Java中實現輕量級高性能JavaScript運行時。 該項目旨在使Java開發人員可以將JavaScript嵌入Java應用程序中,并開發獨立JavaScript應用程序。 (有關更多信息,請參見后面的文章)。

有關更多信息: https : //oracleus.activeevents.com/connect/sessionDetail.ww?SESSION_ID=4082&tclass=popup

  • WebSocket – http://javafx-jira.kenai.com/browse/RT-14947
  • 網絡工作者– http://javafx-jira.kenai.com/browse/RT-9782

嵌入式支持

JavaFX將包含在Oracle的Java SE Embedded 8中。它將包含桌面版本的功能的子集,即不包括:

  • WebView支持
  • 媒體支持

媒體的解決方法:

對于媒體,有一種解決方法,如Jasper Potts的FXExperience中的此注釋所述:

“ Pi上沒有JavaFX媒體支持,我們原型化了傳遞
將視頻的硬件解碼幀轉換為OpenGL,以便可以繪制
在JavaFX Scene中,但是性能不是很好。 所以我們要做的就是畫畫 JavaFX具有透明背景,就像透明窗口一樣 桌面。 然后使用本機omx媒體播放器將視頻播放到較低位置 JavaFX圖形下的圖層。 所以基本上是標準的硬件覆蓋 圖形。 這在PI上效果很好,并且僅下降了10% 在下面播放高清視頻流時的JavaFX性能。 很簡單 動畫,我們可以同時獲得超過50 fps的視頻。” (來源: http : //fxexperience.com/2013/08/javafx-hd-menus-on-raspberrypi/ )

改進的3D支持

此版本將提供改進的3D支持。 或者說起來更準確:真正的3D支持。

它是一項可選功能,您可以查詢運行時以了解它是否可用于給定平臺。 當JavaFX與軟件渲染一起運行時,此3D功能將不可用。

·移動攝像機和SubScene

  • 相機現在是節點

可以將相機添加到場景圖,使用標準變換設置其位置和目標(或方向)。

  • 子場景的添加

子場景是一個特殊的節點,可用于使用其他攝像機渲染場景的一部分。

·3D圖元

  • 從抽象的Shape3D基類擴展了兩種類型的3D形狀:
    • 用戶定義的形狀(MeshView)

介紹了三種常用的預定義3D形狀:盒子,圓柱體和球體。

Shape3D類層次結構:

  • javafx.scene.Node
    • javafx.scene.shape.Shape3D(抽象)

網格類層次結構:

  • java.lang.Object
    • javafx.scene.shape.Mesh(抽象)

·3D屬性

  • 添加了燈光和3D材料,以增加3D形狀的真實感。

材質指定3D形狀的外觀。 燈光與Shape3D的幾何圖形及其材質相互作用,以提供渲染結果。

可以將3D形狀渲染為填充形狀或線框。

·輕

  • 燈光被定義為場景圖中的一個節點
  • 有兩種類型的光源:

AmbientLight :均勻影響所有對象的光源。 AmbientLight對象可以模擬其他視覺對象反射的光。 如果您抬頭看向桌子的底側,您將看到桌子的底面,盡管該表面上沒有任何光源直接發光(除非您的桌子下面有燈)。 桌子底面上的光從地板和其他物體上反射出來。 在具有許多物體的自然環境中,光會從許多物體反射回來以提供環境光。 AmbientLight類模擬此效果。

PointLight :具有位置的光源。 到給定對象的距離和方向會影響如何照亮該對象。 PointLight對象接近沒有反射鏡或透鏡的裸露的燈泡,蠟燭或其他光源。

將來可能會添加更多類型的燈(例如:聚光燈,一種模擬閃光燈等光源的燈)。

  • 場景包含一組活動光源

當活動光源組為空時,提供默認光源

  • 每盞燈包含一組受影響的節點

如果父項在集合中,則其所有子項都會受到影響。 默認值為場景的根節點。

·材料

  • 材質包含一組渲染屬性
  • PhongMaterial是Material的一個具體子類。 它具有以下屬性:
    • 環境顏色

·將方法添加到Node

  • LOD輔助方法,以像素為單位返回投影到物理屏幕上的Node區域:

公用double computeAreaInScreen()

LOD代表詳細程度。 這是一種技術,它會根據與相機的接近程度或距離來改變對象的外觀,換句話說,如果對象距離物體很遠,則細節水平會根據對象所占的面積而改變。無需用戶注意就降低了性能,從而提高了性能。

  • 一組新的轉換3D點的方法

·裝載機支持

存在許多3D文件格式,例如:Obj,Maya,3D Studio Max,Collada,KRML。 該API將不附帶任何官方3D文件格式加載程序。 但是,Oracle將提供一種或兩種流行格式的示例代碼。 至少有一個Collada文件加載器正在開發中。

資源資源

  • Oracle在上一個JavaOne上展示了一個很酷的概念證明。 它建立在JavaFX早期原型上,并添加了3D網格,相機和照明支持。 此博客文章中還顯示了一個簡單的3D示例(帶有代碼): http : //fxexperience.com/2013/02/javafx-3d-early-access-available/
  • 去年JavaOne展示了另一個非常簡潔的示例應用程序: http : //www.youtube.com/watch?v= zFK0kpMpToM
  • 來自Oracle的Chien Yang和Kevin Rushforth的演示文稿展示了3D javafx API的最新技術。 它有點舊,所以有些事情可能已經改變: http : //www.youtube.com/watch?v=EBKHdV-_rIc
  • Oracle的另一個演講是最近(2013年3月27日)完成的,– JavaFX 3D簡介(聲音質量和圖像質量不太好)。 同樣,某些情況可能已經改變(演示從43:18開始): http : //www.youtube.com/watch?v= 1Ebmy-JAygg&list=UUmRtPmgnQ04CMUpSUqPfhxQ&index =1#

其他次要功能,調整和變更

不推薦建造者

現在此版本不推薦使用構建器。 在Java 9中,它們將被刪除(這需要幾年的時間)。 如果正在使用構建器,則應該開始計劃更換它們。

原因:

由于實現細節,除非引入一些二進制不兼容性,否則Builders將停止在Java 8中工作。 因此,決定要逐步淘汰Builders,因此需要進行的更改會將Builder的價值降低到他們不值得的程度,并且在考慮移動/嵌入式用例時,建設者將是禁止的。 ( http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-March/006725.html )

Javafx線程和swing將合并

JavaFX線程和swing可以合并,這仍然是實驗性的API,不會公開,您必須顯式將其打開。 如果您正在開發Swing / JavaFX混合應用程序,這將簡化代碼,因為您只需要擔心一個UI線程。

您可以在此博客文章中了解有關此內容的更多信息: http : //wiki.apidesign.org/wiki/JavaFX

JavaFX完全開源

JavaFX最近才變得完全開源 。 這是個好消息,因為它將允許第三方和開發人員更輕松,更徹底地擴展JavaFX的功能。 也適用于調試錯誤和其他內容。

默認類路徑上的JavaFX

這是開發人員經常提出的要求,JavaFX類現在位于Oracle Java實現的默認運行時類路徑中。

參考: Pixel Duke博客上我們的JCG合作伙伴 Pedro Duque Vieira的Java 8新功能(第1部分– JavaFX) 。

翻譯自: https://www.javacodegeeks.com/2013/09/whats-new-in-java-8-part-i-javafx.html

java8 javafx

總結

以上是生活随笔為你收集整理的java8 javafx_Java 8的新增功能(第1部分– JavaFX)的全部內容,希望文章能夠幫你解決所遇到的問題。

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