2017-05-24 127 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