⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 focustraversalonarray.java

📁 宾馆住宿系统
💻 JAVA
字号:
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);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -