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

歡迎訪問 生活随笔!

生活随笔

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

java

从JavaFX 1.3迁移到JavaFX 2.0

發(fā)布時間:2023/12/3 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从JavaFX 1.3迁移到JavaFX 2.0 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
幾天前,我完成了將Modellus的源代碼從JavaFX 1.3腳本遷移到JavaFX 2.0 Java語言的過程。 因此,我認為寫關于我在此過程中學到的知識會很好。

我想指出,如果您想繼續(xù)在JavaFX 2.0中使用JavaFX腳本,則可以使用Visage: http : //code.google.com/p/visage/

  • CustomNode類不再存在。 擴展組或區(qū)域以創(chuàng)建“自定義節(jié)點”。
  • 沒有更多的塊鼠標。 在javafx 2.0中,鼠標事件僅由最頂部的節(jié)點接收。 Node上還有一個新方法:setMouseTransparent(boolean)。 將mouseTransparent設置為true的節(jié)點上的鼠標事件將被下面的最高節(jié)點忽略并捕獲。
  • 使用屬性綁定值。 Javafx 2.0具有一組可以用來將值彼此綁定的類。 對于每種基本類型,都有一個類– SimpleBooleanProperty,SimpleDoubleProperty等,對于引用類型,您可以使用對象屬性實例,例如,如果您要綁定顏色,則可以使用SimpleObjectProperty <Color>。
  • 并非API中的所有變量都是“可綁定的”。 在Javafx 1.3腳本中,您可以綁定到API的任何變量。 在javafx 2.0 Java語言中,這意味著API中的所有變量都必須作為屬性可用。 但是事實并非如此,例如Bounds,LinearGradient,Stop是不具有屬性的類的示例,因此您不能直接綁定到其字段。 在這種情況下,您需要使用其他方法,例如底層綁定 。 例如,假設您想將變量綁定到節(jié)點的布局邊界的寬度。 由于Bounds的字段寬度不能作為屬性使用,因此您必須執(zhí)行以下操作:

    在Javafx腳本中:

    float nameLabelXPosition = bind - nameLabel.layoutBounds.width / 2;

    在Javafx2.0 Java語言中:

    nameLabelXPosition.bind(new DoubleBinding() {{super.bind(nameLabel.layoutBoundsProperty());}@Overrideprotected double computeValue() {return nameLabel.getLayoutBounds().getWidth() / 2;}});
  • 使用javafx腳本initiliazer塊時,現(xiàn)在可以使用javafx 構建器 。 但是,在javafx腳本中,您可以在初始化程序塊中使用綁定,而在Java上,不能使用構建器來進行綁定。 只有在JavaFX 3.0(Lombard)中,您才能做到這一點: http : //javafx-jira.kenai.com/browse/RT-13680 。 因此,每當在javafx腳本初始化程序塊上使用綁定時,就不能在java javafx 2.0中使用構建器。
  • 在Javafx 2.0 Java上不再對序列提供語言級別的支持。 無論您在何處使用序列,現(xiàn)在都將使用ObservableLists。 要創(chuàng)建ObservableLists,可以使用FXColections創(chuàng)建器方法,在那里您會找到各種各樣的方法來創(chuàng)建ObservableLists,甚至是空的方法。 API上存在的序列已轉換為ObservableLists。 例如,如果要在Group上插入節(jié)點,則需要獲取其子節(jié)點ObservableList,然后調用方法add。 像這樣:.getChildren()。add(Node)
  • 沒有更多的功能類型。 由于僅在java8上支持Closures,因此Oracle團隊依賴于使用SAM類型。 那是一個類,只有一個您必須要重寫的抽象方法(單一抽象方法)。 您可以使用與Oracle相同的策略,并在使用函數(shù)對象的任何地方編寫SAM類型。
  • 沒有更多的觸發(fā)器。 用變更偵聽器替換觸發(fā)器。 您可以將更改偵聽器分配給與在Javafx腳本上分配觸發(fā)器相同的屬性。
  • 子類上沒有更多的變量覆蓋。 對于這些,您將無法在Java上替代它,最好的事情是將值重新分配給子類上的變量。 但這并不相同,因為覆蓋變量,在超類的初始化程序塊之前被賦值。
  • 有關此主題的更多信息,請參見結帳:

    http://weblogs.java.net/blog/opinali/archive/2011/05/28/javafx-20-beta-first-impressions

    如果您對此主題沒有其他更有價值的提示,請在評論中添加它們,然后將它們插入帖子中。

    參考: Pixel Duke博客上的JCG合作伙伴 Pedro Duque Vieira 從javafx 1.3遷移到javafx 2.0 。

    相關文章 :

    • JavaFX 2.0 beta示例應用程序和思考
    • JavaOne正在重建動力
    • 有時在Java中,一個布局管理器是不夠的
    • Xuggler開發(fā)教程

    翻譯自: https://www.javacodegeeks.com/2011/12/migrating-from-javafx-13-to-javafx-20.html

    總結

    以上是生活随笔為你收集整理的从JavaFX 1.3迁移到JavaFX 2.0的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。