<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java Focus實現紀要三

    Posted on 2008-10-29 16:51 英雄 閱讀(1245) 評論(0)  編輯  收藏
     

    Java Focus實現紀要三

    特別注意:按java給出的Focus實現規范,jre1.7保證實現如下幾點:

    1.       Focus_Gained,Focus_Lost事件的序列。即如果在EDT中,應用程序查詢currentFocusOwner=A,此后=B,則中間一定按順序收到A LostB Gain.這主要通過DefaultKeyboardFocusManager.dispatchEvent時,尤其是處理Gained(PreparedFocusGained)時,如果發現currentFocusOwner!=null,說明尚未得到Lost,則會主動生成一個Lost發布,處理后繼續處理Gained

    2.       如果是在同一個重量級組件間做輕量級組件間切換,每一個focus event實例上可以獲取到準確的oppositesource.這主要通過DefaultKeyboardFocusManager.dispatchEventKeyboardFocusManager.retargetEvent時,主動控制糾正可能的不準確的source,opposite

    3.       Focus Event支持temporary應用,尤其體現在當整個window失去焦點,當再次獲取焦點時將恢復此window的最后聚焦組件。應用程序查詢focus event.isTemporary==true時,則可以確信該組件按既有邏輯很快將恢復焦點。這主要通過DefaultKeyboardFocusManager.dispatchEventKeyboardFocusManager.retargetEvent時,對temporary做了充分的考慮控制。

    4.       KeyEvent的處理符合規范流程:

    a.       根據request時間戳緩存。

    b.       解除緩存時首先KeyboardFocusManager.isProxyActiveKEYEVENT,考慮是否交給本地系統代理處理。

    c.       否則KeyboardFocusManager.注冊keyEventDispatchers接手處理。

    d.       發布該keyevent給對應component進行處理,其中分為如下階段:

    1.       Allow the Toolkit to pass this to AWTEventListeners.注冊在toolkit下的AWTEventListeners得到處理。

    2.       KeyboardFocusManager.processKeyEvent用來處理焦點遍歷(TAB)

    3.       Pre-process any special events before delivery。對KEY_PRESSEDKEY_RELEASED,組件的容器有機會preProcessKeyEvent

    4.       組件的對應Key(Press,Typed,~~)Listener進行處理。

    e.       KeyboardFocusManager.keyEventPostProcessors接手處理。

    f.        組件peer得到機會處理。

    在其上123點的實現中,Jre1.7版本充分考慮了跨平臺性:比如Windows系統,如果僅僅是拖動滾動條是不會發出FocusEvent,而其他系統就會發出temporaryFocusEvent;有些系統在重量級對等體間切換可以提供準確的opposite,但是有些系統則不提供。而jre1.7在實現上融合了各個系統的情況,給出了全面判斷并針對性地處理,保證了跨平臺的Focus規范表現。


    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 动漫黄网站免费永久在线观看| 亚洲av日韩av天堂影片精品| 57pao一国产成永久免费| 免费人成在线观看播放a| 91亚洲精品麻豆| 亚洲AV人人澡人人爽人人夜夜| 免费播放特黄特色毛片| 毛片在线看免费版| 亚洲香蕉免费有线视频| 精品成人免费自拍视频| 男女拍拍拍免费视频网站| 亚洲AV无码专区在线厂| 亚洲乱码av中文一区二区| 国产成人精品日本亚洲11| 亚洲日韩乱码久久久久久| 亚洲精品国产成人专区| 亚洲人成色7777在线观看| 国产黄色一级毛片亚洲黄片大全 | 国产亚洲综合久久系列| 亚洲国产一区视频| 免费a级毛片在线观看| 国产成人无码免费视频97| 免费无码又爽又高潮视频| 午夜寂寞在线一级观看免费| 成人性生交视频免费观看| 久久WWW色情成人免费观看| 97免费人妻无码视频| 免费无码黄十八禁网站在线观看| 大学生一级毛片免费看| 中文字幕无码成人免费视频| 日韩欧美一区二区三区免费观看| 久久精品女人天堂AV免费观看 | 亚洲最大福利视频| 国产精品亚洲自在线播放页码| 亚洲免费二区三区| 亚洲国产日韩视频观看| 亚洲妇女无套内射精| 老司机免费午夜精品视频| 一级毛片a免费播放王色电影 | 亚洲第一精品在线视频| 91情国产l精品国产亚洲区|