當前位置: 首頁>>代碼示例>>Java>>正文


Java KeyEvent.setSource方法代碼示例

本文整理匯總了Java中java.awt.event.KeyEvent.setSource方法的典型用法代碼示例。如果您正苦於以下問題:Java KeyEvent.setSource方法的具體用法?Java KeyEvent.setSource怎麽用?Java KeyEvent.setSource使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.awt.event.KeyEvent的用法示例。


在下文中一共展示了KeyEvent.setSource方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: preDispatchKeyEvent

import java.awt.event.KeyEvent; //導入方法依賴的package包/類
private boolean preDispatchKeyEvent(KeyEvent ke) {
    if (((AWTEvent) ke).isPosted) {
        Component focusOwner = getFocusOwner();
        ke.setSource(((focusOwner != null) ? focusOwner : getFocusedWindow()));
    }
    if (ke.getSource() == null) {
        return true;
    }

    // Explicitly set the key event timestamp here (not in Component.dispatchEventImpl):
    // - A key event is anyway passed to this method which starts its actual dispatching.
    // - If a key event is put to the type ahead queue, its time stamp should not be registered
    //   until its dispatching actually starts (by this method).
    EventQueue.setCurrentEventAndMostRecentTime(ke);

    /**
     * Fix for 4495473.
     * This fix allows to correctly dispatch events when native
     * event proxying mechanism is active.
     * If it is active we should redispatch key events after
     * we detected its correct target.
     */
    if (KeyboardFocusManager.isProxyActive(ke)) {
        Component source = (Component)ke.getSource();
        Container target = source.getNativeContainer();
        if (target != null) {
            ComponentPeer peer = target.getPeer();
            if (peer != null) {
                peer.handleEvent(ke);
                /**
                 * Fix for 4478780 - consume event after it was dispatched by peer.
                 */
                ke.consume();
            }
        }
        return true;
    }

    java.util.List<KeyEventDispatcher> dispatchers = getKeyEventDispatchers();
    if (dispatchers != null) {
        for (java.util.Iterator<KeyEventDispatcher> iter = dispatchers.iterator();
             iter.hasNext(); )
         {
             if (iter.next().
                 dispatchKeyEvent(ke))
             {
                 return true;
             }
         }
    }
    return dispatchKeyEvent(ke);
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:53,代碼來源:DefaultKeyboardFocusManager.java

示例2: preDispatchKeyEvent

import java.awt.event.KeyEvent; //導入方法依賴的package包/類
@SuppressWarnings("deprecation")
private boolean preDispatchKeyEvent(KeyEvent ke) {
    if (((AWTEvent) ke).isPosted) {
        Component focusOwner = getFocusOwner();
        ke.setSource(((focusOwner != null) ? focusOwner : getFocusedWindow()));
    }
    if (ke.getSource() == null) {
        return true;
    }

    // Explicitly set the key event timestamp here (not in Component.dispatchEventImpl):
    // - A key event is anyway passed to this method which starts its actual dispatching.
    // - If a key event is put to the type ahead queue, its time stamp should not be registered
    //   until its dispatching actually starts (by this method).
    EventQueue.setCurrentEventAndMostRecentTime(ke);

    /**
     * Fix for 4495473.
     * This fix allows to correctly dispatch events when native
     * event proxying mechanism is active.
     * If it is active we should redispatch key events after
     * we detected its correct target.
     */
    if (KeyboardFocusManager.isProxyActive(ke)) {
        Component source = (Component)ke.getSource();
        Container target = source.getNativeContainer();
        if (target != null) {
            ComponentPeer peer = target.peer;
            if (peer != null) {
                peer.handleEvent(ke);
                /**
                 * Fix for 4478780 - consume event after it was dispatched by peer.
                 */
                ke.consume();
            }
        }
        return true;
    }

    java.util.List<KeyEventDispatcher> dispatchers = getKeyEventDispatchers();
    if (dispatchers != null) {
        for (java.util.Iterator<KeyEventDispatcher> iter = dispatchers.iterator();
             iter.hasNext(); )
         {
             if (iter.next().
                 dispatchKeyEvent(ke))
             {
                 return true;
             }
         }
    }
    return dispatchKeyEvent(ke);
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:54,代碼來源:DefaultKeyboardFocusManager.java


注:本文中的java.awt.event.KeyEvent.setSource方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。