java.awt.Container.isFocusCycleRoot()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(12.0k)|赞(0)|评价(0)|浏览(105)

本文整理了Java中java.awt.Container.isFocusCycleRoot()方法的一些代码示例,展示了Container.isFocusCycleRoot()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Container.isFocusCycleRoot()方法的具体详情如下:
包路径:java.awt.Container
类名称:Container
方法名:isFocusCycleRoot

Container.isFocusCycleRoot介绍

[英]Returns whether this Container is the root of a focus traversal cycle. Once focus enters a traversal cycle, typically it cannot leave it via focus traversal unless one of the up- or down-cycle keys is pressed. Normal traversal is limited to this Container, and all of this Container's descendants that are not descendants of inferior focus cycle roots. Note that a FocusTraversalPolicy may bend these restrictions, however. For example, ContainerOrderFocusTraversalPolicy supports implicit down-cycle traversal.
[中]返回此容器是否为焦点遍历循环的根。一旦焦点进入遍历循环,通常它不能通过焦点遍历离开它,除非按下向上或向下循环键之一。正常遍历仅限于此容器,以及此容器的所有非次焦点循环根的后代。然而,请注意,聚焦反垄断政策可能会扭曲这些限制。例如,ContainerOrderFocusTraversalPolicy支持隐式下循环遍历。

代码示例

代码示例来源:origin: org.opentcs.thirdparty.dockingframes/docking-frames-core

/**
 * Searches the first parent of <code>component</code> that is either
 * a {@link Container#isFocusCycleRoot() focus cycle root} or
 * a {@link Container#isFocusTraversalPolicyProvider() policy provider}.
 * @param component some component
 * @return some parent or <code>null</code>
 */
protected Container getRootOrProvider( Component component ){
  Container container = component.getParent();
  while( container != null ){
    if( container.isFocusCycleRoot() || container.isFocusTraversalPolicyProvider() )
      return container;
    container = container.getParent();
  }
  return null;
}

代码示例来源:origin: xyz.cofe/docking-frames-core

/**
 * Searches the first parent of <code>component</code> that is either
 * a {@link Container#isFocusCycleRoot() focus cycle root} or
 * a {@link Container#isFocusTraversalPolicyProvider() policy provider}.
 * @param component some component
 * @return some parent or <code>null</code>
 */
protected Container getRootOrProvider( Component component ){
  Container container = component.getParent();
  while( container != null ){
    if( container.isFocusCycleRoot() || container.isFocusTraversalPolicyProvider() )
      return container;
    container = container.getParent();
  }
  return null;
}

代码示例来源:origin: org.jclarion/clarion-runtime

@Override
public Component getComponentAfter(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");
  }
  synchronized(aContainer.getTreeLock()) {
    found.value = false;
    Component retval = getComponentAfter(aContainer,aComponent,aComponent,found);
    if (retval != null) {
      return retval;
    } else if (found.value) {
      return getFirstComponent(aContainer);
    } else {
      return null;
    }
  }
}

代码示例来源:origin: org.jclarion/clarion-runtime

@Override
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");
  }
  synchronized(aContainer.getTreeLock()) {
    found.value = false;
    Component retval = getComponentBefore(aContainer, aComponent,aComponent,
                       found);
    if (retval != null) {
      return retval;
    } else if (found.value) {
      return getLastComponent(aContainer);
    } else {
      return null;
    }
  }
}

代码示例来源:origin: xyz.cofe/docking-frames-core

/**
   * Searches the {@link FocusTraversalPolicy} which should be used by
   * <code>provider</code>. This method searches for a focus cycle root or
   * policy provider whose traversal policy is {@link Container#isFocusTraversalPolicySet() set}.
   * @param provider a focus cycle root or policy provider whose 
   * {@link SimplifiedFocusTraversalPolicy} is searched.
   * @return the policy of <code>provider</code> or <code>null</code>
   */
  protected FocusTraversalPolicy getFocusTraversalPolicy( Container provider ){
    while( provider != null ){
      if( provider.isFocusCycleRoot() || provider.isFocusTraversalPolicyProvider() ){
        if( provider.isFocusTraversalPolicySet() ){
          return provider.getFocusTraversalPolicy();
        }
      }

      provider = provider.getParent();
    }

    return null;
  }
}

代码示例来源:origin: org.opentcs.thirdparty.dockingframes/docking-frames-core

/**
   * Searches the {@link FocusTraversalPolicy} which should be used by
   * <code>provider</code>. This method searches for a focus cycle root or
   * policy provider whose traversal policy is {@link Container#isFocusTraversalPolicySet() set}.
   * @param provider a focus cycle root or policy provider whose 
   * {@link SimplifiedFocusTraversalPolicy} is searched.
   * @return the policy of <code>provider</code> or <code>null</code>
   */
  protected FocusTraversalPolicy getFocusTraversalPolicy( Container provider ){
    while( provider != null ){
      if( provider.isFocusCycleRoot() || provider.isFocusTraversalPolicyProvider() ){
        if( provider.isFocusTraversalPolicySet() ){
          return provider.getFocusTraversalPolicy();
        }
      }

      provider = provider.getParent();
    }

    return null;
  }
}

代码示例来源:origin: xyz.cofe/docking-frames-core

@Override
public Component getFirstComponent( Container container ) {
  FocusTraversalPolicy providerPolicy = getFocusTraversalPolicy( container );
  
  Component component = providerPolicy.getDefaultComponent( container );
  if( component == container )
    return component;
  if( component instanceof Container ){
    Container ccontainer = (Container)component;
    if( ccontainer.isFocusCycleRoot() || ccontainer.isFocusTraversalPolicyProvider() ){
      Component result = getFirstComponent( ccontainer );
      if( result != null )
        return result;
    }
  }
  return component;
}

代码示例来源:origin: xyz.cofe/docking-frames-core

@Override
public Component getLastComponent( Container container ) {
  FocusTraversalPolicy providerPolicy = getFocusTraversalPolicy( container );
  Component component = providerPolicy.getDefaultComponent( container );
  if( component == container )
    return component;
  if( component instanceof Container ){
    Container ccontainer = (Container)component;
    if( ccontainer.isFocusCycleRoot() || ccontainer.isFocusTraversalPolicyProvider() ){
      Component result = getLastComponent( ccontainer );
      if( result != null )
        return result;
    }
  }
  return component;
}

代码示例来源:origin: org.opentcs.thirdparty.dockingframes/docking-frames-core

@Override
public Component getFirstComponent( Container container ) {
  FocusTraversalPolicy providerPolicy = getFocusTraversalPolicy( container );
  
  Component component = providerPolicy.getDefaultComponent( container );
  if( component == container )
    return component;
  if( component instanceof Container ){
    Container ccontainer = (Container)component;
    if( ccontainer.isFocusCycleRoot() || ccontainer.isFocusTraversalPolicyProvider() ){
      Component result = getFirstComponent( ccontainer );
      if( result != null )
        return result;
    }
  }
  return component;
}

代码示例来源:origin: org.opentcs.thirdparty.dockingframes/docking-frames-core

@Override
public Component getLastComponent( Container container ) {
  FocusTraversalPolicy providerPolicy = getFocusTraversalPolicy( container );
  Component component = providerPolicy.getDefaultComponent( container );
  if( component == container )
    return component;
  if( component instanceof Container ){
    Container ccontainer = (Container)component;
    if( ccontainer.isFocusCycleRoot() || ccontainer.isFocusTraversalPolicyProvider() ){
      Component result = getLastComponent( ccontainer );
      if( result != null )
        return result;
    }
  }
  return component;
}

代码示例来源:origin: xyz.cofe/docking-frames-core

@Override
public Component getDefaultComponent( Container container ) {
  if( recursionDefaultComponent ){
    return policy.getDefault( container );
  }
  try{
    recursionDefaultComponent = true;
    FocusTraversalPolicy providerPolicy = getFocusTraversalPolicy( container );
    Component component = providerPolicy.getDefaultComponent( container );
    
    if( component == container )
      return component;
    if( component instanceof Container ){
      Container ccontainer = (Container)component;
      if( ccontainer.isFocusCycleRoot() || ccontainer.isFocusTraversalPolicyProvider() ){
        Component result = getDefaultComponent( ccontainer );
        if( result != null )
          return result;
      }
    }
    return component;
  }
  finally{
    recursionDefaultComponent = false;
  }
}

代码示例来源:origin: org.opentcs.thirdparty.dockingframes/docking-frames-core

@Override
public Component getDefaultComponent( Container container ) {
  if( recursionDefaultComponent ){
    return policy.getDefault( container );
  }
  try{
    recursionDefaultComponent = true;
    FocusTraversalPolicy providerPolicy = getFocusTraversalPolicy( container );
    Component component = providerPolicy.getDefaultComponent( container );
    
    if( component == container )
      return component;
    if( component instanceof Container ){
      Container ccontainer = (Container)component;
      if( ccontainer.isFocusCycleRoot() || ccontainer.isFocusTraversalPolicyProvider() ){
        Component result = getDefaultComponent( ccontainer );
        if( result != null )
          return result;
      }
    }
    return component;
  }
  finally{
    recursionDefaultComponent = false;
  }
}

代码示例来源:origin: xyz.cofe/docking-frames-core

/**
 * Searches the previous {@link Component} which might gain the focus. This
 * method searches recursively through the tree of {@link Component}s, but
 * does not loop.
 * @param component the currently focused {@link Component}.
 * @return the previous {@link Component} which might gain the focus
 */
protected Component before( Component component ){
  Container provider = getRootOrProvider( component );
  FocusTraversalPolicy providerPolicy = getFocusTraversalPolicy( provider );
  Component result = providerPolicy.getComponentBefore( provider, component );
  if( provider.isFocusCycleRoot() ){
    return result;
  }
  else{ // is policy provider
    if( providerPolicy == this ){
      if( result == null || policy.getLast( provider ) == result ){
        result = before( provider );
      }
    }
    else{
      if( result == null || providerPolicy.getLastComponent( provider ) == result ){
        result = before( provider );
      }
    }
    if( result == component )
      return null;
    return result;
  }
}

代码示例来源:origin: org.opentcs.thirdparty.dockingframes/docking-frames-core

/**
 * Searches the previous {@link Component} which might gain the focus. This
 * method searches recursively through the tree of {@link Component}s, but
 * does not loop.
 * @param component the currently focused {@link Component}.
 * @return the previous {@link Component} which might gain the focus
 */
protected Component before( Component component ){
  Container provider = getRootOrProvider( component );
  FocusTraversalPolicy providerPolicy = getFocusTraversalPolicy( provider );
  Component result = providerPolicy.getComponentBefore( provider, component );
  if( provider.isFocusCycleRoot() ){
    return result;
  }
  else{ // is policy provider
    if( providerPolicy == this ){
      if( result == null || policy.getLast( provider ) == result ){
        result = before( provider );
      }
    }
    else{
      if( result == null || providerPolicy.getLastComponent( provider ) == result ){
        result = before( provider );
      }
    }
    if( result == component )
      return null;
    return result;
  }
}

代码示例来源:origin: org.opentcs.thirdparty.dockingframes/docking-frames-core

if( provider.isFocusCycleRoot() ){
  return result;

代码示例来源:origin: xyz.cofe/docking-frames-core

if( provider.isFocusCycleRoot() ){
  return result;

代码示例来源:origin: net.sf.tinylaf/tinylaf

/**
   * Requests focus on a child of the spinner if the spinner doesn't
   * have focus.
   */
  private void focusSpinnerIfNecessary() {
    Component fo = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
    if(spinner.isRequestFocusEnabled() && (fo == null || !SwingUtilities.isDescendingFrom(fo, spinner))) {
      Container root = spinner;
      if(!root.isFocusCycleRoot()) {
        root = root.getFocusCycleRootAncestor();
      }
      if(root != null) {
        FocusTraversalPolicy ftp = root.getFocusTraversalPolicy();
        Component child = ftp.getComponentAfter(root, spinner);
        if(child != null && SwingUtilities.isDescendingFrom(child, spinner)) {
          child.requestFocus();
        }
      }
    }
  }
}

代码示例来源:origin: xyz.cofe/docking-frames-core

if( !previousContainer.isFocusCycleRoot() && previousContainer.isFocusTraversalPolicyProvider() ){
  Component selected;
  if( circle )

代码示例来源:origin: org.opentcs.thirdparty.dockingframes/docking-frames-core

if( !nextContainer.isFocusCycleRoot() && nextContainer.isFocusTraversalPolicyProvider() ){
  Component selected;
  if( circle )

代码示例来源:origin: com.synaptix/SynaptixSwing

private static Component compositeRequestFocus(Component component) {
  if (component instanceof Container) {
    Container container = (Container) component;
    if (container.isFocusCycleRoot()) {
      FocusTraversalPolicy policy = container
          .getFocusTraversalPolicy();

相关文章

微信公众号

最新文章

更多

Container类方法