2017-05-24 125 views
0

我一直在試圖改變的JProgressBar顏色,但仍保持爲橙色的JProgressBar更改欄顏色

這裏是性能 properties

運行它 executing

我想改變顏色爲綠色或其他的東西,但無法找出如何

+1

包裝JProgressBar的一個特定OS的UI'ProgressBarUI',試圖以匹配該平臺的外觀和感覺。您可能可以重寫'getUI()'來提供您自己的用戶界面,或者更改L&F的屬性。 –

+0

是的,但如何? – NicolasB

+0

請同時提供相關的代碼部分,如果可能的話儘量舉個最簡單的例子。通過這樣做,您可以大大提高問題的質量。此外,它似乎你正在使用某種* GUI管理器*,你能告訴我們你到底在使用什麼嗎? – Zabuza

回答

2

試試這個教學示例。它將修改4個JProgressBar的顏色。 可能有點難以看到文字顏色,但這裏是 期望的圖像。酒吧是紅色的黑色,文字顏色是黃色和藍色。

enter image description here

import java.awt.Color; 
import java.awt.FlowLayout; 
import javax.swing.JFrame; 
import javax.swing.JProgressBar; 
import javax.swing.UIManager; 

public class JProgressBarTest { 

public static void main(final String[] args) { 
    UIManager.put("ProgressBar.background", Color.BLACK); 
    UIManager.put("ProgressBar.foreground", Color.RED); 
    UIManager.put("ProgressBar.selectionBackground", Color.YELLOW); 
    UIManager.put("ProgressBar.selectionForeground", Color.BLUE); 
    final JProgressBar progressBar = new JProgressBar(); 

    new JFrame() { 
     { 
      getContentPane().setLayout(new FlowLayout()); 
      getContentPane().add(progressBar); 
      progressBar.setValue(50); 
      progressBar.setStringPainted(true); 
      setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
      setSize(400, 200); 
      setLocationRelativeTo(null); 
      setVisible(true); 
     } 
    }; 
    } 
} 
+0

好的展示!然而,OP可能無法做到這一點,因爲他似乎使用某種* GUI管理器*,並且可能不知道如何切換到*代碼視圖*。也許我們也應該知道他在使用什麼,然後告訴他如何切換,以便他可以使用你的代碼。 – Zabuza