2013-04-17 102 views
2

enter image description here我只是想在JFrame中使用Windows L & F.現在,在使用進度條時,默認顏色爲綠色,類似於其他窗口函數(如複製文件等)中使用的顏色。有時您可能已經看到,窗口顯示「紅色」顏色的進度(可能有在複製文件的情況下覆蓋)。如何在我的進度條上使用「紅色」顏色,而不是將「前景色」設置爲「紅色」,看起來不同?JProgressBar中的顏色

+0

你能向我們展示正常進度條的截圖以及紅色版嗎? –

+1

簡單,清晰,簡單,一切都取決於主題,贏得主題和贏彩色主題,然後相同的字體,鼠標,alingment ....,有簡單,清晰,容易的解決方案,以適當的價值或顏色UIManager – mKorbel

+0

我有兩個屏幕截圖。我如何在這裏上傳它們? @AndrewThompson – se7en

回答

3

Java使用自己的代碼實現本機查看進度欄。它不支持Vista和更新的功能,通過更改欄的顏色來指示停滯/緩慢的進度。

draws the bar可供查看的來源;它使用paintSkin方法繪製欄,默認情況下,該欄只繪製一種顏色。

progress bar use Windows上的設計原則表明您應該:

  • 使用紅色或黃色進度條只表示進度狀態,而不是任務的最終結果。紅色或黃色的進度條表示用戶需要採取一些行動來完成任務。如果條件不可恢復,請將進度條保持綠色並顯示錯誤消息。
  • 當存在阻止取得進一步進展的用戶可恢復狀況時,將進度欄變爲紅色。顯示消息來解釋問題並推薦解決方案。 將進度條變成黃色以指示用戶已暫停任務或存在妨礙進度的情況,但進度仍在進行(例如,網絡連接不暢)。如果用戶已暫停,請將暫停按鈕標籤更改爲繼續。如果進展受阻,請顯示一條消息來解釋問題並推薦解決方案。
+0

我可以覆蓋它嗎? – se7en

+1

改寫繪畫方法?它與其他窗口外觀和感覺元素相互交織,所以我不認爲這是微不足道的 – Petesh

+1

大多數本地組件的java實現是皮膚級的實現,並且不公開大多數功能。如果你想完成更類似本地的體驗,你可能會更好地切換到SWT。我的大部分java經驗都在服務器端,所以在這種情況下可能有人能夠更好地提供建議。 – Petesh