java.awt.Container#isFocusCycleRoot ( )源码实例Demo

下面列出了java.awt.Container#isFocusCycleRoot ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: hottub   文件: DefaultFocusManager.java
public Component getComponentBefore(Container aContainer,
                                    Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentBefore(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentBefore(root, aComponent);
    }

    return null;
}
 
public Component getComponentBefore(Container aContainer,
                                    Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentBefore(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentBefore(root, aComponent);
    }

    return null;
}
 
源代码3 项目: openjdk-8   文件: DefaultFocusManager.java
public Component getLastComponent(Container aContainer) {
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getLastComponent(root);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getLastComponent(root);
    }

    return null;
}
 
源代码4 项目: jdk8u60   文件: DefaultFocusManager.java
public Component getComponentBefore(Container aContainer,
                                    Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentBefore(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentBefore(root, aComponent);
    }

    return null;
}
 
源代码5 项目: openjdk-8   文件: DefaultFocusManager.java
public Component getComponentAfter(Container aContainer,
                                   Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentAfter(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentAfter(root, aComponent);
    }

    return null;
}
 
源代码6 项目: openjdk-8-source   文件: DefaultFocusManager.java
public Component getLastComponent(Container aContainer) {
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getLastComponent(root);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getLastComponent(root);
    }

    return null;
}
 
public Component getLastComponent(Container aContainer) {
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getLastComponent(root);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getLastComponent(root);
    }

    return null;
}
 
public Component getComponentBefore(Container aContainer,
                                    Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentBefore(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentBefore(root, aComponent);
    }

    return null;
}
 
源代码9 项目: openjdk-8   文件: DefaultFocusManager.java
public Component getComponentBefore(Container aContainer,
                                    Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentBefore(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentBefore(root, aComponent);
    }

    return null;
}
 
源代码10 项目: dragonwell8_jdk   文件: DefaultFocusManager.java
public Component getLastComponent(Container aContainer) {
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getLastComponent(root);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getLastComponent(root);
    }

    return null;
}
 
源代码11 项目: jdk8u-jdk   文件: DefaultFocusManager.java
public Component getFirstComponent(Container aContainer) {
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getFirstComponent(root);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getFirstComponent(root);
    }

    return null;
}
 
源代码12 项目: TencentKona-8   文件: DefaultFocusManager.java
public Component getComponentBefore(Container aContainer,
                                    Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentBefore(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentBefore(root, aComponent);
    }

    return null;
}
 
源代码13 项目: Bytecoder   文件: DefaultFocusManager.java
/**
 * Returns the component before.
 * @return the component before
 * @param aContainer a container
 * @param aComponent a component
 */
public Component getComponentBefore(Container aContainer,
                                    Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentBefore(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentBefore(root, aComponent);
    }

    return null;
}
 
源代码14 项目: openjdk-jdk8u   文件: DefaultFocusManager.java
public Component getComponentAfter(Container aContainer,
                                   Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentAfter(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentAfter(root, aComponent);
    }

    return null;
}
 
源代码15 项目: openjdk-jdk8u   文件: DefaultFocusManager.java
public Component getComponentBefore(Container aContainer,
                                    Component aComponent)
{
    Container root = (aContainer.isFocusCycleRoot())
        ? aContainer
        : aContainer.getFocusCycleRootAncestor();

    // Support for mixed 1.4/pre-1.4 focus APIs. If a particular root's
    // traversal policy is non-legacy, then honor it.
    if (root != null) {
        FocusTraversalPolicy policy = root.getFocusTraversalPolicy();
        if (policy != gluePolicy) {
            return policy.getComponentBefore(root, aComponent);
        }

        comparator.setComponentOrientation(root.getComponentOrientation());
        return layoutPolicy.getComponentBefore(root, aComponent);
    }

    return null;
}
 
源代码16 项目: jdk8u-jdk   文件: SortingFocusTraversalPolicy.java
private Component getComponentDownCycle(Component comp, int traversalDirection) {
    Component retComp = null;

    if (comp instanceof Container) {
        Container cont = (Container)comp;

        if (cont.isFocusCycleRoot()) {
            if (getImplicitDownCycleTraversal()) {
                retComp = cont.getFocusTraversalPolicy().getDefaultComponent(cont);

                if (retComp != null && log.isLoggable(PlatformLogger.Level.FINE)) {
                    log.fine("### Transfered focus down-cycle to " + retComp +
                             " in the focus cycle root " + cont);
                }
            } else {
                return null;
            }
        } else if (cont.isFocusTraversalPolicyProvider()) {
            retComp = (traversalDirection == FORWARD_TRAVERSAL ?
                       cont.getFocusTraversalPolicy().getDefaultComponent(cont) :
                       cont.getFocusTraversalPolicy().getLastComponent(cont));

            if (retComp != null && log.isLoggable(PlatformLogger.Level.FINE)) {
                log.fine("### Transfered focus to " + retComp + " in the FTP provider " + cont);
            }
        }
    }
    return retComp;
}
 
private Component getComponentDownCycle(Component comp, int traversalDirection) {
    Component retComp = null;

    if (comp instanceof Container) {
        Container cont = (Container)comp;

        if (cont.isFocusCycleRoot()) {
            if (getImplicitDownCycleTraversal()) {
                retComp = cont.getFocusTraversalPolicy().getDefaultComponent(cont);

                if (retComp != null && log.isLoggable(PlatformLogger.Level.FINE)) {
                    log.fine("### Transfered focus down-cycle to " + retComp +
                             " in the focus cycle root " + cont);
                }
            } else {
                return null;
            }
        } else if (cont.isFocusTraversalPolicyProvider()) {
            retComp = (traversalDirection == FORWARD_TRAVERSAL ?
                       cont.getFocusTraversalPolicy().getDefaultComponent(cont) :
                       cont.getFocusTraversalPolicy().getLastComponent(cont));

            if (retComp != null && log.isLoggable(PlatformLogger.Level.FINE)) {
                log.fine("### Transfered focus to " + retComp + " in the FTP provider " + cont);
            }
        }
    }
    return retComp;
}
 
源代码18 项目: jdk8u60   文件: SortingFocusTraversalPolicy.java
private Component getComponentDownCycle(Component comp, int traversalDirection) {
    Component retComp = null;

    if (comp instanceof Container) {
        Container cont = (Container)comp;

        if (cont.isFocusCycleRoot()) {
            if (getImplicitDownCycleTraversal()) {
                retComp = cont.getFocusTraversalPolicy().getDefaultComponent(cont);

                if (retComp != null && log.isLoggable(PlatformLogger.Level.FINE)) {
                    log.fine("### Transfered focus down-cycle to " + retComp +
                             " in the focus cycle root " + cont);
                }
            } else {
                return null;
            }
        } else if (cont.isFocusTraversalPolicyProvider()) {
            retComp = (traversalDirection == FORWARD_TRAVERSAL ?
                       cont.getFocusTraversalPolicy().getDefaultComponent(cont) :
                       cont.getFocusTraversalPolicy().getLastComponent(cont));

            if (retComp != null && log.isLoggable(PlatformLogger.Level.FINE)) {
                log.fine("### Transfered focus to " + retComp + " in the FTP provider " + cont);
            }
        }
    }
    return retComp;
}
 
/**
 * Returns the Component that should receive the focus before aComponent.
 * aContainer must be a focus cycle root of aComponent or a focus traversal policy provider.
 * <p>
 * By default, SortingFocusTraversalPolicy implicitly transfers focus down-
 * cycle. That is, during normal focus traversal, the Component
 * traversed after a focus cycle root will be the focus-cycle-root's
 * default Component to focus. This behavior can be disabled using the
 * <code>setImplicitDownCycleTraversal</code> method.
 * <p>
 * If aContainer is <a href="../../java/awt/doc-files/FocusSpec.html#FocusTraversalPolicyProviders">focus
 * traversal policy provider</a>, the focus is always transferred down-cycle.
 *
 * @param aContainer a focus cycle root of aComponent or a focus traversal policy provider
 * @param aComponent a (possibly indirect) child of aContainer, or
 *        aContainer itself
 * @return the Component that should receive the focus before aComponent,
 *         or null if no suitable Component can be found
 * @throws IllegalArgumentException if aContainer is not a focus cycle
 *         root of aComponent or a focus traversal policy provider, or if either aContainer or
 *         aComponent is null
 */
public Component getComponentBefore(Container aContainer, Component aComponent) {
    if (aContainer == null || aComponent == null) {
        throw new IllegalArgumentException("aContainer and aComponent cannot be null");
    }
    if (!aContainer.isFocusTraversalPolicyProvider() && !aContainer.isFocusCycleRoot()) {
        throw new IllegalArgumentException("aContainer should be focus cycle root or focus traversal policy provider");

    } else if (aContainer.isFocusCycleRoot() && !aComponent.isFocusCycleRoot(aContainer)) {
        throw new IllegalArgumentException("aContainer is not a focus cycle root of aComponent");
    }

    // See if the component is inside of policy provider.
    Container provider = getTopmostProvider(aContainer, aComponent);
    if (provider != null) {
        if (log.isLoggable(PlatformLogger.Level.FINE)) {
            log.fine("### Asking FTP " + provider + " for component after " + aComponent);
        }

        // FTP knows how to find component after the given. We don't.
        FocusTraversalPolicy policy = provider.getFocusTraversalPolicy();
        Component beforeComp = policy.getComponentBefore(provider, aComponent);

        // Null result means that we overstepped the limit of the FTP's cycle.
        // In that case we must quit the cycle, otherwise return the component found.
        if (beforeComp != null) {
            if (log.isLoggable(PlatformLogger.Level.FINE)) {
                log.fine("### FTP returned " + beforeComp);
            }
            return beforeComp;
        }
        aComponent = provider;

        // If the provider is traversable it's returned.
        if (accept(aComponent)) {
            return aComponent;
        }
    }

    List<Component> cycle = getFocusTraversalCycle(aContainer);

    if (log.isLoggable(PlatformLogger.Level.FINE)) {
        log.fine("### Cycle is " + cycle + ", component is " + aComponent);
    }

    int index = getComponentIndex(cycle, aComponent);

    if (index < 0) {
        if (log.isLoggable(PlatformLogger.Level.FINE)) {
            log.fine("### Didn't find component " + aComponent + " in a cycle " + aContainer);
        }
        return getLastComponent(aContainer);
    }

    Component comp;
    Component tryComp;

    for (index--; index>=0; index--) {
        comp = cycle.get(index);
        if (comp != aContainer && (tryComp = getComponentDownCycle(comp, BACKWARD_TRAVERSAL)) != null) {
            return tryComp;
        } else if (accept(comp)) {
            return comp;
        }
    }

    if (aContainer.isFocusCycleRoot()) {
        this.cachedRoot = aContainer;
        this.cachedCycle = cycle;

        comp = getLastComponent(aContainer);

        this.cachedRoot = null;
        this.cachedCycle = null;

        return comp;
    }
    return null;
}
 
源代码20 项目: Bytecoder   文件: SortingFocusTraversalPolicy.java
/**
 * Returns the Component that should receive the focus before aComponent.
 * aContainer must be a focus cycle root of aComponent or a focus traversal policy provider.
 * <p>
 * By default, SortingFocusTraversalPolicy implicitly transfers focus down-
 * cycle. That is, during normal focus traversal, the Component
 * traversed after a focus cycle root will be the focus-cycle-root's
 * default Component to focus. This behavior can be disabled using the
 * <code>setImplicitDownCycleTraversal</code> method.
 * <p>
 * If aContainer is <a href="../../java/awt/doc-files/FocusSpec.html#FocusTraversalPolicyProviders">focus
 * traversal policy provider</a>, the focus is always transferred down-cycle.
 *
 * @param aContainer a focus cycle root of aComponent or a focus traversal policy provider
 * @param aComponent a (possibly indirect) child of aContainer, or
 *        aContainer itself
 * @return the Component that should receive the focus before aComponent,
 *         or null if no suitable Component can be found
 * @throws IllegalArgumentException if aContainer is not a focus cycle
 *         root of aComponent or a focus traversal policy provider, or if either aContainer or
 *         aComponent is null
 */
public Component getComponentBefore(Container aContainer, Component aComponent) {
    if (aContainer == null || aComponent == null) {
        throw new IllegalArgumentException("aContainer and aComponent cannot be null");
    }
    if (!aContainer.isFocusTraversalPolicyProvider() && !aContainer.isFocusCycleRoot()) {
        throw new IllegalArgumentException("aContainer should be focus cycle root or focus traversal policy provider");

    } else if (aContainer.isFocusCycleRoot() && !aComponent.isFocusCycleRoot(aContainer)) {
        throw new IllegalArgumentException("aContainer is not a focus cycle root of aComponent");
    }

    // See if the component is inside of policy provider.
    Container provider = getTopmostProvider(aContainer, aComponent);
    if (provider != null) {
        if (log.isLoggable(PlatformLogger.Level.FINE)) {
            log.fine("### Asking FTP " + provider + " for component after " + aComponent);
        }

        // FTP knows how to find component after the given. We don't.
        FocusTraversalPolicy policy = provider.getFocusTraversalPolicy();
        Component beforeComp = policy.getComponentBefore(provider, aComponent);

        // Null result means that we overstepped the limit of the FTP's cycle.
        // In that case we must quit the cycle, otherwise return the component found.
        if (beforeComp != null) {
            if (log.isLoggable(PlatformLogger.Level.FINE)) {
                log.fine("### FTP returned " + beforeComp);
            }
            return beforeComp;
        }
        aComponent = provider;

        // If the provider is traversable it's returned.
        if (accept(aComponent)) {
            return aComponent;
        }
    }

    List<Component> cycle = getFocusTraversalCycle(aContainer);

    if (log.isLoggable(PlatformLogger.Level.FINE)) {
        log.fine("### Cycle is " + cycle + ", component is " + aComponent);
    }

    int index = getComponentIndex(cycle, aComponent);

    if (index < 0) {
        if (log.isLoggable(PlatformLogger.Level.FINE)) {
            log.fine("### Didn't find component " + aComponent + " in a cycle " + aContainer);
        }
        return getLastComponent(aContainer);
    }

    Component comp;
    Component tryComp;

    for (index--; index>=0; index--) {
        comp = cycle.get(index);
        if (comp != aContainer && (tryComp = getComponentDownCycle(comp, BACKWARD_TRAVERSAL)) != null) {
            return tryComp;
        } else if (accept(comp)) {
            return comp;
        }
    }

    if (aContainer.isFocusCycleRoot()) {
        this.cachedRoot = aContainer;
        this.cachedCycle = cycle;

        comp = getLastComponent(aContainer);

        this.cachedRoot = null;
        this.cachedCycle = null;

        return comp;
    }
    return null;
}