如何从 JProgressbar 中删除高亮显示

How to remove highlight form JProgressbar

我一直没能找到一种方法来删除突出显示并保留我的黑线边框。设置 .setBorderPainted(false) 修复了突出显示,但也删除了我的边框。有没有办法用 look and feelUIManager 来解决这个问题?

代码:

    this.downloadProgressBar.setBounds(16, 16, 512, 32);
    this.downloadProgressBar.setBorder(this.blackBorder);
    this.downloadProgressBar.setForeground(Color.pink);
    this.downloadProgressBar.setOpaque(false);
    this.downloadProgressBar.setString("75%");
    this.downloadProgressBar.setStringPainted(true);
    this.downloadProgressBar.setMinimum(0);
    this.downloadProgressBar.setMaximum(100);
    this.downloadProgressBar.setValue(75);

您可以将默认的 PLAF UI 替换为基本进度条 UI,它没有讨厌的高亮显示:

(使用临时变量以获得更易于阅读的代码):

JProgressBar bar = this.downloadProgressBar;
bar.setUI((ProgressBarUI)BasicProgressBarUI.createUI(bar));