回答
可以使用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