JMetro版本5发布
Java的第5版JavaFX主題JMetro剛剛發(fā)布。
這是此版本中的新功能:
- 新的文本區(qū)域明暗風(fēng)格;
- 現(xiàn)有控件樣式的一些更改;
- 新CSS變量稱為accent_color。 顧名思義,它允許您定義JMetro控件中使用的強(qiáng)調(diào)顏色。
- 已經(jīng)進(jìn)行了很大的重構(gòu),簡化并刪除了重復(fù)CSS代碼。
在這篇文章中,我將詳細(xì)介紹這個新版本。
JMetro的樣式更新
TextArea JMetro樣式
在JMetro問題跟蹤器中的錯誤報告之后,我添加了新的“文本區(qū)域”明暗樣式。
此新樣式與現(xiàn)有的“文本字段”和“密碼字段”樣式非常相似。 它已經(jīng)在先前的4.8.5版本中發(fā)布,但是由于我只是在Twitter上宣布了這一點(diǎn),因此我將在此處發(fā)布更多詳細(xì)信息。
這是TextArea深色和淺色樣式的外觀:
文本區(qū)域– JavaFX主題JMetro燈
文本區(qū)域– JavaFX主題JMetro暗
更改現(xiàn)有樣式
選擇框新樣式
這是Choice Box的新樣式。 以前的樣式看起來太像一個按鈕,如果使用“選擇框”執(zhí)行動作,則該按鈕會更合適。 并非如此,它用于選擇一個項(xiàng)目,因此我對樣式進(jìn)行了調(diào)整,使它們看起來更像JMetro組合框。
選擇盒– Javafx主題JMetro燈
選擇盒– Javafx主題JMetro黑暗
微調(diào)器新樣式
微調(diào)框深色樣式已進(jìn)行了調(diào)整:
微調(diào)框– Javafx主題JMetro黑暗
Tabs和TabPane新樣式
“選項(xiàng)卡”和“選項(xiàng)卡窗格”燈光主題中使用的重點(diǎn)顏色已略微調(diào)整。
黑暗主題的樣式已被完全修改:
選項(xiàng)卡和選項(xiàng)卡窗格– JavaFX主題JMetro暗
其他樣式調(diào)整
其他更改包括對“樹形視圖”的淺色和深色主題進(jìn)行了細(xì)微調(diào)整。
造型JMetro
新CSS變量
添加了新CSS變量,以便可以輕松地進(jìn)一步設(shè)置JMetro的樣式。
作為公共API的新CSS變量是:
- accent_color :顧名思義,此變量用于更改強(qiáng)調(diào)色。 可以將此顏色設(shè)置為與您的產(chǎn)品品牌更匹配的顏色。
以下是為JMetro設(shè)置不同的強(qiáng)調(diào)色的同一控件的兩個示例。 在兩個圖像中,鼠標(biāo)都懸停在最底部的“切換開關(guān)”上。
帶有藍(lán)色(#0078d7)配色的撥動開關(guān)
帶有綠色(#10893e)配色的撥動開關(guān)
以下CSS代碼用于第一個屏幕截圖:
.root { accent_color: #0078d7; }這是第二個屏幕CSS:
.root { accent_color: #10893e; }如您在上面的屏幕截圖中看到的那樣,當(dāng)鼠標(biāo)懸停時,切換開關(guān)的顏色是定義的強(qiáng)調(diào)色的淺色版本。 該顏色是從accent_color變量值自動得出的。
JMetro中使用的命名約定
以下是JMetro中使用的命名約定。
CSS屬性
屬性名稱以“-”開頭。 示例: -shrink-animate-on-press , -show-value-on-interaction 。
CSS變量
變量以小寫字母開頭,以“ color”結(jié)尾。 單詞之間用“ ” 分隔 。 示例: accent_color , text_color 。
我更喜歡這種約定,而不是通常使用的約定,因?yàn)閷τ谧兞渴鞘裁春虲SS屬性有更清晰的區(qū)別。 第一次閱讀CSS代碼的人將立即將變量與屬性區(qū)分開,而不必研究Java代碼內(nèi)部的邏輯。
理想情況下,我希望通過在變量前添加“-”來定義變量。 這是為Web CSS中的變量定義的約定。 但是,在JavaFX CSS中(至少當(dāng)前)以“-”開頭的變量是非法的。
變量以“ _color”結(jié)尾以防止沖突。 例如,使用名稱text定義變量將與-fx-cursor屬性值text沖突。 如果在某處為-fx-cursor定義了值text ,它將被您為text變量定義的變量值替換。 這會導(dǎo)致樣式錯誤。
其他約定
到目前為止,我還沒有定義任何常量,但是我正在考慮在不久的將來定義一些常量。 可能的慣例是使用與CSS變量相同的慣例,但不是將它們寫成小寫,而是將它們定義為所有大寫。
CSS并不區(qū)分大小寫,但是看到所有大寫字母的文本都會立即向讀者表明該文本代表一個常量。
對JMetro的大重構(gòu)
對JMetro進(jìn)行了很大的重構(gòu),以刪除重復(fù)CSS代碼。 它并不是那么大,但是考慮到我所知道的,據(jù)我所知,沒有一個好的工具可以對JavaFX CSS代碼執(zhí)行重構(gòu),所以花費(fèi)的時間比使用Java代碼要多。 CSS中的簡單重構(gòu)(例如更改變量名稱)可能既耗時又容易出錯。
深色主題和淺色主題的所有通用代碼都移至一個CSS文件:“ JMetroBase.css”。 “ JMetroDarkTheme.css”和“ JMetroLightTheme.css”定義了定義各自主題的顏色變量的值。 它們都包含“ JMetroBase.css”。
現(xiàn)在,除了Table View(我將在以后的版本中重構(gòu))之外,CSS代碼不再重復(fù)。
包起來
版本5代表JMetro的另一個迭代。 所有現(xiàn)有樣式均已重新設(shè)計,并添加了新的控件樣式。
現(xiàn)在,您還可以通過重新定義CSS變量來調(diào)整主題的屬性,如強(qiáng)調(diào)色。
最新版本帶來了一個新控件:文本區(qū)域,對一些現(xiàn)有樣式的調(diào)整,新CSS變量,可以輕松地根據(jù)需要調(diào)整JMetro,最后進(jìn)行大量重構(gòu)以刪除重復(fù)的代碼并簡化JMetro。
與往常一樣,這是JavaFX主題JMetro的文檔頁面。 我將在接下來的幾天中嘗試對其進(jìn)行更新。
接下來是我平移的內(nèi)容:
- 通過Maven Central使JMetro可用(已經(jīng)可以通過Bintray,JCenter并以可下載的jar形式提供);
- 添加新的樹表視圖樣式;
- 添加新的手風(fēng)琴樣式;
- 等等。
照顧自己。 與往常一樣,我的Twitter帳戶將是我發(fā)布有關(guān)JMetro和其他開源貢獻(xiàn)的所有新聞的地方。
翻譯自: https://www.javacodegeeks.com/2018/12/jmetro-version-5-released.html
總結(jié)
以上是生活随笔為你收集整理的JMetro版本5发布的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux底层驱动开发(linux 底层
- 下一篇: 在您的Maven-Fu包中增加了一些东西