可能是重复问题:
有没有比JProgressBar更好看的替代品?
我有一个需要几秒钟才能加载完的进程,我想在Java Swing中创建一个动画来表示它正在加载。
我想避免使用典型的进度条,而是使用像这样漂亮的现代无限进度效果:
我知道有类似的问题,但这严格涉及Java Swing。 是否有任何库或示例可供参考呢?
可能是重复问题:
有没有比JProgressBar更好看的替代品?
我有一个需要几秒钟才能加载完的进程,我想在Java Swing中创建一个动画来表示它正在加载。
我想避免使用典型的进度条,而是使用像这样漂亮的现代无限进度效果:
我知道有类似的问题,但这严格涉及Java Swing。 是否有任何库或示例可供参考呢?
只需使用 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);
}
我建议在这种情况下使用玻璃面板。步骤如下:
BorderLayout
的JComponent
。将一个包含您选择的动画.gif图标的JLabel
添加到CENTER
。paint(Graphics)
方法,使您的GUI变得灰暗(或白色)。为了实现这一点,您需要绘制一个大小与组件相同的填充矩形,并用半透明颜色来填充矩形。