java - 垂直进度条有奇怪的背景,不可更改

标签 java swing jprogressbar

进度条由以下代码创建

    bar = new JProgressBar(JProgressBar.VERTICAL);
    bar.setEnabled(true);

    bar.setBackground(Color.YELLOW);
    bar.setForeground(Color.GREEN);

    bar.setStringPainted(true);     

    getReflectedComponent().setLayout(new BorderLayout());
    getReflectedComponent().add(bar, BorderLayout.CENTER);

注意 getReflectedComponent() 返回一个 JComponent。在另一种方法中,显示的字符串的最大值和当前值被操纵,而不是更多。

我真的不知道为什么这个非常奇怪的灰色条纹显示在顶部。如果我水平显示进度条,它们不在那里......

This is how my progress bar looks like

最佳答案

我没有观察到你的代码有问题,所以它一定来自于你没有向我们展示的其他东西(提供一个 SSCCE 的另一个参数)

这是一个让你自己开始的例子:

import java.awt.BorderLayout;
import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;

public class TestScrollbars {

    protected void initUI() {
        final JFrame frame = new JFrame();
        frame.setTitle(TestScrollbars.class.getSimpleName());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JProgressBar bar = new JProgressBar(JProgressBar.VERTICAL);
        bar.setEnabled(true);

        bar.setBackground(Color.YELLOW);
        bar.setForeground(Color.GREEN);

        bar.setStringPainted(true);
        bar.setString("2000 g");
        bar.setValue(65);
        frame.setLayout(new BorderLayout());
        frame.add(bar, BorderLayout.CENTER);
        frame.setSize(500, 400);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new TestScrollbars().initUI();
            }
        });
    }

}

以及生成的图像(其中进度条正确显示所选颜色):

result

关于java - 垂直进度条有奇怪的背景,不可更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14155269/

相关文章:

java - 找不到 spring 类路径资源,因为它不存在

java - JTextArea 中的行

java - Jframe 未处理

java netbeans 和 jprogress bar

java - 什么决定了 reducer 的数量以及如何避免 reducer 的瓶颈?

java - Mac 操作系统无法运行 .Jar 文件

java - 打开网络摄像头并设置为背景(问题)

java - 如何在java中测量JProgressBar的任务进度

java - 如何在java中创建使用进度监视器的任务?

java - 你最好的 Swing 设计模式和技巧是什么?