1

所以我用谷歌搜索了这个,但我可以在上面找到任何东西:我在我的代码中调用了这个方法

    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception exc) {
        System.out.print("failed to load look and feel");
    }

然后,我添加了一个名为 progressBar 的 JProgressBar,并在我单击 gui 上的按钮时调用此代码:

    progressBar.setBorderPainted(true);
    progressBar.setValue(progressBar.getValue()+1);
    Progresslabel.setText("Progress... "+progressBar.getString());

Progresslabel 只是一个显示进度的标签。现在,当我这样做时,进度条如下所示:

http://i.imgur.com/gXp5ByH.png

而不是在其他应用程序上这样:

http://i.imgur.com/M61Cd59.png

看看我是如何非常矩形的,并且只填充进度条的一部分,而不是外部?我想知道是否有一种方法可以使用默认系统外观,但能够使用进度条,并让它们看起来像在其他程序上一样。有没有办法做到这一点?谢谢。

4

1 回答 1

0

您可以使用SWT使本机小部件出现。Swing progress 尽最大努力模拟操作系统的小部件,但它们不是真实的。缺少动画 Windows 进度条是 Swing 的缺点之一。

另一方面,SWT 使用看起来非常漂亮的真正的本机小部件。

于 2017-06-21T22:43:01.753 回答