?? focustraversalonarray.java
字號(hào):
package com.swtdesigner;import java.awt.Component;import java.awt.Container;import java.awt.FocusTraversalPolicy;/** * Cyclic focus traversal policy based on array of components. * * This class may be freely distributed as part of any application or plugin. * <p> * Copyright (c) 2003 - 2005, Instantiations, Inc. <br> * All Rights Reserved * * @author scheglov_ke */public class FocusTraversalOnArray extends FocusTraversalPolicy { private final Component m_Components[]; //////////////////////////////////////////////////////////////////////////// // // Constructor // //////////////////////////////////////////////////////////////////////////// /** * Create the focus traversal policy * * @param components */ public FocusTraversalOnArray(Component components[]) { m_Components = components; } //////////////////////////////////////////////////////////////////////////// // // Utilities // //////////////////////////////////////////////////////////////////////////// private int indexCycle(int index, int delta) { int size = m_Components.length; int next = (index + delta + size) % size; return next; } private Component cycle(Component currentComponent, int delta) { int index = -1; loop : for (int i = 0; i < m_Components.length; i++) { Component component = m_Components[i]; for (Component c = currentComponent; c != null; c = c.getParent()) { if (component == c) { index = i; break loop; } } } // try to find enabled component in "delta" direction int initialIndex = index; while (true) { int newIndex = indexCycle(index, delta); if (newIndex == initialIndex) { break; } index = newIndex; // Component component = m_Components[newIndex]; if (component.isEnabled()) { return component; } } // not found return currentComponent; } //////////////////////////////////////////////////////////////////////////// // // FocusTraversalPolicy // //////////////////////////////////////////////////////////////////////////// public Component getComponentAfter(Container container, Component component) { return cycle(component, 1); } public Component getComponentBefore(Container container, Component component) { return cycle(component, -1); } public Component getFirstComponent(Container container) { return m_Components[0]; } public Component getLastComponent(Container container) { return m_Components[m_Components.length - 1]; } public Component getDefaultComponent(Container container) { return getFirstComponent(container); }}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -