回答
可以使用Animated Icon类使用现有的图标来创建自己的动画。
这可以通过自定义组件或自定义图标绘制,使用常规Java2D
电话。对我来说,它看起来像一个Arc2D
与相当厚BasicStroke
绘制与GradientPaint
。
可替换地,从Inkscape中(或其它图形程序)出口帧并加载它们为图像。
只需使用一个ImageIcon和GIF格式的动画。请参阅ImageIcon中的setImageObserver。
加载图标可以使用各种在线发电机如AjaxLoad的进行。
非常好!有用! – drzymala 2012-09-12 16:50:10
希望这对它来说还不算太晚。
我设法让gif动画我的JPanel里面是这样的:
private JPanel loadingPanel() {
JPanel panel = new JPanel();
BoxLayout layoutMgr = new BoxLayout(panel, BoxLayout.PAGE_AXIS);
panel.setLayout(layoutMgr);
ClassLoader cldr = this.getClass().getClassLoader();
java.net.URL imageURL = cldr.getResource("img/spinner.gif");
ImageIcon imageIcon = new ImageIcon(imageURL);
JLabel iconLabel = new JLabel();
iconLabel.setIcon(imageIcon);
imageIcon.setImageObserver(iconLabel);
JLabel label = new JLabel("Loading...");
panel.add(iconLabel);
panel.add(label);
return panel;
}
这种方法的几点:
1.图像文件是罐子内;
2. ImageIO.read()返回一个BufferedImage,它不更新ImageObserver;
3.查找捆绑在jar文件中的图像的另一种方法是要求Java类加载器(加载程序的代码)获取文件。它知道事情在哪里。
因此,通过这样做,我能够在我的JPanel中获得我的动画gif,并且它像一个魅力一样工作。
动画GIF是没有选择,因为它缺乏良好和平滑的透明效果。 Spinner大多需要透明,背景100%透明,GIF不支持,而不会使动画变得丑陋和像素化。它只适用于矩形边框,而不会在对象之间褪色。所以......如何正确地做到这一点? APNG可以做到这一点,但是当然,没有lib库,Java不支持它。 – 2017-05-11 07:38:40
- 1. Java Swing 2D动画
- 2. 在java swing的onclick事件中显示加载动画onclick
- 3. Java Swing中的动画线
- 4. Java:用于创建动画帮助叠加动画的Swing库?
- 5. Java/Swing启动画面中的错误
- 6. Java Swing vs HTML5 Canvas交互式动画
- 7. SWING JPanel/JXPanel动画
- 8. 将动画/转换添加到Java Swing容器
- 9. 动画使用Java/Swing的跳动,虽然使用的paintComponent和动画线程
- 10. Swing中的球动画
- 11. java swing下载吧
- 12. WPF加载动画
- 13. 加载动画PNG
- 14. Android加载动画
- 15. HTML加载动画
- 16. AJAX加载动画
- 17. Java Swing:模态加载屏幕?
- 18. 加载动画的GridView的
- 19. 的OutOfMemoryError加载动画
- 20. Swing Java桌面应用程序中没有绘画/加载的图像
- 21. 多线程与一个简单的2D动画的Java Swing
- 22. 扩展Java Swing Widgets(希望为JSlider添加动画和额外的标记)
- 23. 电子加载动画
- 24. 重新加载表动画
- 25. 动画加载屏幕
- 26. 加载动画图像
- 27. “加载”动画优先
- 28. 图片预加载动画
- 29. UIImageView动画预加载
- 30. Windows Phone 7 - 加载动画
交换一组精灵可以为此工作。当然,加载必须在后台线程中完成,例如由SwingWorker提供的后台线程。 – 2012-01-09 03:17:34
另请参阅此[问与答](http://stackoverflow.com/questions/6238037/how-do-i-align-this-text-correctly)。 – trashgod 2012-01-09 03:38:26