不确定的Jprogressbar动画滞后



使用以下代码

package scrollbartest;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;
public class ScrollBarTest {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JProgressBar b = new JProgressBar();
            b.setIndeterminate(true);
            b.setPreferredSize(new Dimension(400, 20));
            f.add(b);
            f.pack();
            f.setVisible(true);
        });
    }
}

进度栏"无限"动画非常卑鄙。我在做什么错?

更多信息:

  • OS:Debian 9.8
  • 该代码似乎在其他操作系统(在Windows上尝试)
  • 上正常工作
  • 使用Oracle JDK 1.8.0_201和OpenJDK 1.8.0_181
  • 连续将鼠标光标移到主Jframe上动画运行平稳
  • 随着选定的外观和感觉而变化的效果:GTK 比系统默认值,但效果仍然存在

由于第四点,我认为这是一种缓慢的"刷新时间" ...这可能是可能的吗?

感谢您的帮助!

更新:进行一些研究,我发现不确定的进度栏动画可以控制当前外观中的某些参数:

ProgressBar.repaintInterval
ProgressBar.cycleTime

不幸的是,有些外观和感觉似乎忽略了第一个参数,而另一些则似乎没有。例如,MetallookAndFeel似乎忽略了它,导致了Laggish动画,重新粉刷约0.5秒,而Nimbuslookandfeel似乎使用它。

尝试添加以下行以启用视频加速度,如果在操作系统中未启用:

System.setProperty("sun.java2d.opengl", "true");

相关内容

  • 没有找到相关文章

最新更新