java - 如何从 JProgressbar 中删除突出显示

标签 java swing awt jprogressbar

enter image description here

我无法找到一种方法来删除突出显示并保留黑线边框。设置 .setBorderPainted(false) 修复了突出显示,但也删除了边框。有没有办法通过外观UIManager来解决这个问题?

代码:

    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);

最佳答案

您可以用基本的进度条 UI 替换默认的 PLAF UI,该进度条 UI 没有讨厌的突出显示:

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

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

关于java - 如何从 JProgressbar 中删除突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56893506/

相关文章:

java - Spring Roo 时间戳问题 : 1. 2.2 作为日期,1.2.4 作为日历

java - 如何从 JformattedTextfield 检索货币格式值

java - 与日志框架相关的特殊死锁

java - 如何从URL中读取参数中的HashMark

java - 正则表达式拆分分隔符

java - 如何在 Spring Boot 单元测试中使用依赖注入(inject)?

java - 网络应用程序。比。桌面应用程序(Java Swing 应用程序)

java - 当您在 JTextArea 上选择行时如何知道行号? [JAVA]

Java 单选按钮清除/取消选择

java - 简单的旋转矩形碰撞