?? 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[]) { this.m_Components = components; } //////////////////////////////////////////////////////////////////////////// // // Utilities // //////////////////////////////////////////////////////////////////////////// private int indexCycle(int index, int delta) { int size = this.m_Components.length; int next = ((index + delta) + size) % size; return next; } private Component cycle(Component currentComponent, int delta) { int index = -1; for (int i = 0; i < this.m_Components.length; i++) { Component component = this.m_Components[i]; if (component == currentComponent) { index = i; break; } } // 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 = this.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 this.m_Components[0]; } public Component getLastComponent(Container container) { return this.m_Components[this.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 + -