创建一个漂亮的“加载…”动画

可能重复:
JProgressBar的替代品?

我有一个需要几秒钟才能加载的进程,我想在Java Swing中创建一个动画,直到它完成加载。

我想避免使用典型的ProgressBar并使用像这样的现代无限进展

无限进步

我知道类似的问题,但这与Java Swing有关。 这有什么库或示例吗?

我建议使用玻璃板进行此类活动。 涉及的步骤是:

  • 使用BorderLayout创建一个JComponent 。 将JLabel添加到CENTER ,其中包含您选择的动画.gif图标。
  • (可选)覆盖paint(Graphics)方法,使GUI显示为灰色(或白色)。 要实现此目的,您需要绘制一个填充矩形的组件大小,用半透明颜色填充矩形。
  • 将组件添加为应用程序根框架的玻璃板。

只需使用ImageIcon执行此任务, 它就会自动为GIF动画 。 下面的代码生成了这个截图( ajax-loader.gif是从http://www.ajaxload.info/下载的 ):

截图

码:

 public static void main(String[] args) throws Exception { JFrame frame = new JFrame("Test"); ImageIcon loading = new ImageIcon("ajax-loader.gif"); frame.add(new JLabel("loading... ", loading, JLabel.CENTER)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); frame.setVisible(true); } 

当然有可能。 您可以使用工具AjaxLoad生成动画图像,该图像可以在任何图像/ html容器中使用。