數據加載中……
          [轉]Swing學習筆記之swing渲染基本原理

          Swing學習筆記之swing渲染基本原理

          主要內容:事件,繪制,渲染,雙緩沖,線程

           

          一、 事件

           

          1、事件來源:本地系統,應用程序本身

          2、所有的事件都存儲在一個隊列里面

          3、Java.awt.EventQueue從隊列中取數據并派發,EventQueue的派發機制由單獨的線程EDT(Event Dispatch Thread)處理。

           

          二、繪制

           

          1、繪制請求發起:awt或者swing本身、對swing發起請求

          2、異步重繪請求:所有異步請求都是repaint()的變體,包括整個組建的繪制和組建某個區域的繪制

          3、同步繪制請求:Jcomponent.paintImmediately()和Component.paint()

           

          三、渲染

           

          1、畫家算法

          2、paintComponent()

          3、paint()

          4、setpaque()

           

          四、雙緩沖

           

          五、線程

          1、swing線程包括:主線程(應用程序的主方法),工具包線程(撲獲系統事件),EDT(將撲獲的線程派發)

          2、線程模型:單一的規則,所以要遵從此規則,盡量將事件讓EDT進行派發。

          3、invokeLater()

          4、isEventDispatchThread()

          5、invokeAndWait

           

          六、定時器和事件派發

           

          1、java.util.Timer

          2、javax.swing.Timer

           

          七、SwingWorker

          1、done()

          2、doInBackground()

          3、get

          4、process



          ---------------------------------------------------------------------------------------
          ——使你疲勞的不是遠方的高山,而是你鞋里一粒沙子!

          posted on 2009-10-20 09:26 鋒行 閱讀(442) 評論(0)  編輯  收藏 所屬分類: Swing

          主站蜘蛛池模板: 望江县| 襄垣县| 司法| 韶山市| 雷州市| 宁晋县| 黄梅县| 留坝县| 台北县| 阿荣旗| 阜阳市| 米脂县| 清河县| 府谷县| 东乡族自治县| 乌海市| 阿巴嘎旗| 东辽县| 浪卡子县| 南澳县| 东宁县| 涞水县| 罗江县| 林州市| 桦南县| 新和县| 宣恩县| 西盟| 桂东县| 河津市| 白玉县| 深州市| 望谟县| 宽城| 桦甸市| 雷州市| 南雄市| 咸阳市| 定日县| 焉耆| 丰宁|