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