本文整理汇总了Java中java.awt.Component.getFocusCycleRootAncestor方法的典型用法代码示例。如果您正苦于以下问题:Java Component.getFocusCycleRootAncestor方法的具体用法?Java Component.getFocusCycleRootAncestor怎么用?Java Component.getFocusCycleRootAncestor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.awt.Component
的用法示例。
在下文中一共展示了Component.getFocusCycleRootAncestor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: requestFocusForMessage
import java.awt.Component; //导入方法依赖的package包/类
/** Requests focus for <code>currentMessage</code> component.
* If it is of <code>JComponent</code> type it tries default focus
* request first. */
private void requestFocusForMessage() {
Component comp = currentMessage;
if(comp == null) {
return;
}
if (/*!Constants.AUTO_FOCUS &&*/ FocusManager.getCurrentManager().getActiveWindow() == null) {
// Do not steal focus if no Java window have it
Component defComp = null;
Container nearestRoot =
(comp instanceof Container && ((Container) comp).isFocusCycleRoot()) ? (Container) comp : comp.getFocusCycleRootAncestor();
if (nearestRoot != null) {
defComp = nearestRoot.getFocusTraversalPolicy().getDefaultComponent(nearestRoot);
}
if (defComp != null) {
defComp.requestFocusInWindow();
} else {
comp.requestFocusInWindow();
}
} else {
if (!(comp instanceof JComponent)
|| !((JComponent)comp).requestDefaultFocus()) {
comp.requestFocus();
}
}
}