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

歡迎訪問 生活随笔!

生活随笔

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

java

Java,JavaFX的流畅设计风格进度栏

發布時間:2023/12/3 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java,JavaFX的流畅设计风格进度栏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

按照承諾,剛剛發布的Java JavaFX主題JMetro 4.6版為進度欄帶來了新樣式。

進度欄有兩種可能的狀態:確定和不確定,新的JMetro版本具有這兩種狀態。 在本文中,我還將詳細介紹一些我在JMetro中遵守的API設計原則。

JMetro API設計原則

關于JMetro的API,我有一些原則。 其中之一是它應要求最少的設置并具有最少的必需API。 這意味著,例如,僅需很少的方法調用,就可以將JMetro應用為主題。 現在,只需要這兩行代碼(可以很容易地折疊為一行):

JMetro jMetro = new JMetro(Style.LIGHT); jMetro.applyTheme(root);

這也意味著我嘗試不引入新控件,除非應該絕對引入它們。 例如,使用新的文本字段和密碼字段樣式,我可以引入新的控件,因為這兩個控件都添加了新功能,例如清除和顯示密碼按鈕。 相反,我選擇通過引入可以在原始控件中使用的新外觀類來添加這些新功能。

這種方法有兩個優點:

  • 開發人員可以輕松更改主題。 從JMetro到另一個主題,反之亦然。 由于JMetro僅在嚴格必要時才引入新控件,因此與JMetro沒有強耦合。 例如,您可能決定在移動設備上或在不同的OS上使用不同的主題,或者只是您決定不再使用JMetro。 使用JMetro非常簡單。
  • 學習曲線淺。 開始使用JMetro應該真的很容易。 至少,您需要知道的是配置和應用JMetro的兩行代碼。 大多數控件已經在JavaFX SDK中。 在后臺將新外觀應用于這些控件。

您還可以通過CSS屬性配置大多數控件的新外觀,從而使您可以繼續使用與以前相同的Java代碼(不使用JMetro時)。 將來,我可能會添加新的API以通過代碼(例如Java代碼)配置這些功能,但我仍計劃保留所需的最少API。

舊的JMetro進度欄

像往常一樣,我首先要展示進度條在以前版本中的外觀:

ProgressBar舊的JMetro輕主題

ProgressBar舊的JMetro黑暗主題

這是用于確定狀態的簡單平面設計樣式。 在舊版本中,不確定狀態沒有樣式。

新的JMetro進度欄

在繼續顯示新的進度欄外觀之前,我想解釋為什么存在兩種可能的狀態。 當您可以確定地確定特定任務已取得多少進展時,您將使用確定狀態。 在這種狀態下,您將顯示已完成了多少進度。 進度量取決于進度欄的“填充”程度。 當任務即將完成時,進度欄將“被填充”或幾乎“被填充”。

相反,當您無法確定已完成的進度或由于某種原因而不想計算進度時,可以將狀態設置為不確定。 這不會顯示已取得多少進展。 但這至少會表明正在進行一些計算。

受Fluent Design的啟發,您可以在下面看到進度欄的新樣式。 現在,兩個新的不同外觀代表了這兩個狀態。 自從我在Twitter上的最后一篇文章以來,我對不確定的動畫進行了一些調整。

ProgressBar新的JMetro主題

上面的動畫可能看起來不像實時版本那樣流暢 。 我沒有時間發布視頻而不是GIF。 那可能會更好地證明實際結果。

深色和淺色版本之間沒有區別。

進度欄詳細信息

我試圖使新進度條CSS樣式與原始JavaFX Modena CSS盡可能相似。 您仍然可以找到“ track ”和“ bar ” CSS樣式類,您可以對其進行樣式設置,就像在Modena樣式表中一樣。 對于不確定狀態,這是不可能的,因為外觀完全不同。

對于不確定狀態,每個“點”都是一個具有樣式類的Region : dot和dot_<number> 。 <Number>是點的位置,從1開始。您可以根據需要設置每個“點”的樣式,因為每個點都是一個Region 。

例如,如果您希望點逐漸變暗,則可以添加以下CSS:

.progress-bar:indeterminate .dot_1 {-fx-background-color: ACCENT_COLOR; }.progress-bar:indeterminate .dot_2 {-fx-background-color: derive(ACCENT_COLOR, -15%); }.progress-bar:indeterminate .dot_3 {-fx-background-color: derive(ACCENT_COLOR, -30%); }.progress-bar:indeterminate .dot_4 {-fx-background-color: derive(ACCENT_COLOR, -45%); }.progress-bar:indeterminate .dot_5 {-fx-background-color: derive(ACCENT_COLOR, -60%); }

ACCENT_COLOR是JMetro中定義的JavaFX CSS變量,用于指定JMetro主題的強調色。 derive(..)是一個JavaFX CSS幫助器函數,根據傳入的百分比是負數還是正數,它可以使給定的顏色變暗或變亮。

此示例將給出以下結果:

結論

在JMetro 4.6版中,為進度欄添加了新樣式。 在這篇文章中,我還概述了JMetro背后的一些設計原則。

像以前一樣,您可以在JavaFX主題JMetro頁面上查看更新的文檔(將很快用此新版本更新)。

JMetro即將達到版本5.0。 我計劃在第5版之前添加的所有最困難的控件都已完成。 在接下來的幾個發行版中,我計劃清理,重新調整某些樣式,并增加指定控件的強調顏色的可能性。 在此之前,我可能還可以添加新的控件樣式。 Ahh ..并在Maven Central中提供JMetro。

翻譯自: https://www.javacodegeeks.com/2018/10/fluent-design-style-progress-bar-javafx.html

總結

以上是生活随笔為你收集整理的Java,JavaFX的流畅设计风格进度栏的全部內容,希望文章能夠幫你解決所遇到的問題。

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