成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AWT和Swing顯示GIF 動畫

開發 后端
本文介紹AWT和Swing組件可以直接通過 Graphics.drawImage() 來顯示 GIF 動畫, 但是一直不太做界面程序。

很早就知道AWT和Swing組件可以直接通過 Graphics.drawImage() 來顯示 GIF 動畫, 但是一直不太做界面程序, 也就沒有仔細用過.

現在做 WoW Traverser, 因為修改是異步提交到服務器, 所以有必要對正在提交的更改進行界面提示, 打算做個黃色alpha混和的漸變閃動效果來實現, 于是第一反應是做一個透明度不斷變化的純黃色GIF, 畫到界面上去.

但是用GIMP總是做出來效果不對, 于是想干脆自己寫程序實現, 反正就是加個黃色的混和, 利用AWT和Swing顯示GIF相同的機制, 效率和穩定性應該也不會差. 最后花了一天時間研究AWT和Swing的動畫機制.

雖然也了解了一些原本不知道的細節, 但是結果還是讓我很失望, 原來drawImage時就是把當前Component注冊為該圖片的ImageObserver, 這樣GIF的下一幀到了需要顯示的時間時, 通過 imageUpdated() 通知這個組件, 最終是在 java.awt.Component.imageUpdated() 中處理這個問題. 令人非常失望的是, Java都到了1.5了, AWT中這個地方的處理還是那么蹩腳, 它只是檢查了一下更新頻率有沒有超過系統規定的上限, 只要沒超過, 那么它就對Component發一個完全的repaint()請求, 甚至都沒有去計算該圖片的覆蓋區域, 設置一個Clip區域以減少不必要的繪圖操作.

更甚者, 即使之后你不再顯示這個GIF了, AWT也不會自動從這個『曾經』顯示的圖片的ImageObserver列表中去掉這個Component, 最終導致的結果, 就是即使不再顯示那個GIF, 這個Component還是會以那個GIF的刷新頻率不斷的毫無必要的去repaint() !! 這不但蹩腳, 簡直都有點齷齪.

而且費了半天勁, 連手工去取消ImageObserver的接口都沒有找到, 也就是說: 如果不是永久性的顯示一個GIF, 千萬不要通過java.awt.Toolkit.createImage() 構造 GIF 的 java.awt.Image對象然后往你自己的Component上畫, 否則這個GIF圖片將長時間占用內存以及 ImageFetcher 線程的CPU資源, 同時耗費CPU時間和GUI資源用來絲毫沒有必要的反復repaint你的Component.

【編輯推薦】

  1. 在表格中Swing增加列表框
  2. 淺談Swing控件JList
  3. 概述Swing組件與外部線程
  4. Java Swing做什么好
  5. Swing文件選擇器的制作
責任編輯:佚名 來源: 電子工業出版社
相關推薦

2009-07-14 15:01:02

AWT和Swing

2009-07-10 17:20:38

Swing構件AWT構件

2009-07-17 11:13:46

AWT和SwingSwing組件

2009-07-16 13:37:33

Swing和AWT

2009-07-10 17:03:17

AWT組件Swing組件

2009-07-15 16:39:51

AWT和Swing

2009-07-17 09:36:14

SWT和Swing的區

2009-07-17 10:11:55

AWT和Swing

2009-07-17 15:30:30

JFaceAWT和SWTSwing

2009-07-17 09:07:20

2009-07-17 10:01:14

Swing和AWT

2009-07-14 12:58:49

AWT和Swing

2009-07-10 15:41:27

Swing AWT

2009-07-14 15:12:36

SwingSWT和AWT

2009-07-17 09:55:02

事件監聽器SWT和SwingAWT

2009-07-17 10:25:41

AWT和SwingSWT

2011-08-29 17:17:00

Android應用gif快手iPhone應用

2011-04-15 17:33:39

SWINGAWT

2009-07-14 17:38:20

Swing模式

2009-07-17 09:44:28

Look And Fe布局管理器SWT和Swing
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人久久18免费网站图片 | 日本天天操 | 国产精品二区三区 | 在线视频中文字幕 | 麻豆a级片| av性色| 国产一区二区毛片 | 国产一区二区在线免费视频 | 爱爱免费视频 | 久久夜夜 | 免费一级毛片 | 麻豆精品一区二区三区在线观看 | 亚洲午夜av久久乱码 | 欧美视频免费在线 | 久久久久久久久中文字幕 | 精品成人免费视频 | 偷拍自拍网址 | 一本综合久久 | www.99re| 99热在这里只有精品 | 在线看91| 成人免费影院 | 欧美激情网站 | 精品国产精品一区二区夜夜嗨 | 国产精品无码久久久久 | 日韩视频国产 | 精品九九九 | 91porn成人精品 | 国产97在线 | 日韩 | 91免费在线看 | 欧美一区二区在线视频 | 国产成人短视频在线观看 | 国产一区久久 | 国产精品99久久久久久www | 污污的网站在线观看 | 欧美成人精品在线 | 九九一级片 | 久久久999国产精品 中文字幕在线精品 | 羞羞视频网站免费观看 | 麻豆一区 | 国产精品婷婷 |