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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

JavaFX技巧5:可观察

發(fā)布時間:2023/12/3 java 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaFX技巧5:可观察 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

即使在整個NSA監(jiān)視的這段時間,實現(xiàn)JavaFX控件時也要牢記可觀察性,這仍然是一個好主意。 與Swing相比,這在JavaFX中很容易實現(xiàn)。

舊時光

來自Swing,我習(xí)慣于花費大量精力和時間來使自定義控件變得可觀察。 通常需要添加方法來添加和刪除某種類型的偵聽器。 此偵聽器類型是一個新接口,該接口的單個??方法接受了一個新的事件對象。 要發(fā)送此事件對象,控件必須在我的自定義控件中“觸發(fā)”它,因此我最終編寫了fireXYZ()方法。 要做很多工作只是為了讓別人知道控件狀態(tài)的某些方面已經(jīng)改變。

新時代

在JavaFX中,通過使用屬性和可觀察的集合可以更輕松地實現(xiàn)可觀察性。 在FlexGanttFX框架中,其控件的幾乎每個屬性都是屬性,并且所有集合都是通過FXCollections類創(chuàng)建的,該類返回可觀察的集合。 這很有意義,因為每個控件的屬性總數(shù)定義了它的狀態(tài),并且該狀態(tài)必須是可觀察的,以便應(yīng)用程序的其他部分(尤其是其他控件)可以對狀態(tài)更改做出反應(yīng)。

樣板代碼

使用屬性的不利之處在于,您最終編寫了許多樣板代碼,但仍然比Swing少。 如果是布爾型屬性,它將如下所示:

public final BooleanProperty showStuff =new SimpleBooleanProperty(this, "showStuff", true);public final BooleanProperty showStuffProperty() {return showStuff; }public final boolean isShowStuff() {return showStuff.get(); }public final void setShowStuff(boolean show) {showStuff.set(show); }

是的,您應(yīng)該完全遵循此編碼約定。 對于名為xxx的屬性,請?zhí)峁┟麨閤xxProperty()的屬性訪問器方法,名為setXXX()的設(shè)置器和名為getXXX()的獲取器。 這是在JavaFX中使用它的方式,您應(yīng)該堅持使用它。

使用集合時,通常至少會得到以下代碼:

private final ObservableList<String> names =FXCollections.observableArrayList();public final ObservableList<String> getNames() {return names; }

在JavaFX核心控件中,集合通常存儲在一個屬性中,以便可以用新集合替換整個集合。 到目前為止,我在控件中還沒有真正看到對此的強烈要求,也沒有這樣做,這意味著我不必為此情況編寫屬性偵聽器。

聽眾

現(xiàn)在,我們的控件屬性是屬性,我們可以通過向它們添加偵聽器(使用lambda表達(dá)式)來輕松地對狀態(tài)更改做出反應(yīng)。

myControl.showStuffProperty().addListener(it -> showStuffChanged());myControl.getNames().addListener((Observable observable) -> namesChanged());

結(jié)論

在設(shè)計自己的自定義控件時,通過屬性和可觀察的集合在控件類中公開其狀態(tài)。 這樣,每個人都將能夠以與整個JavaFX框架一致的方式觀察控件的狀態(tài),并使其他開發(fā)人員能夠無縫地將其控件/應(yīng)用程序與您的控件集成在一起。

翻譯自: https://www.javacodegeeks.com/2014/07/javafx-tip-5-be-observable.html

總結(jié)

以上是生活随笔為你收集整理的JavaFX技巧5:可观察的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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