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

📄 oleeventtable.java

📁 源码为Eclipse开源开发平台桌面开发工具SWT的源代码,
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2000, 2003 IBM Corporation and others. * All rights reserved. This program and the accompanying materials  * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html *  * Contributors: *     IBM Corporation - initial API and implementation *******************************************************************************/package org.eclipse.swt.ole.win32;/*** The OleEventTable class implements a simple* look up mechanism that maps an event type* to a listener.  Muliple listeners for the* same event type are supported.**/class OleEventTable {	int [] types;	OleListener [] handlers;void hook (int eventType, OleListener handler) {	if (types == null) types = new int [4];	if (handlers == null) handlers = new OleListener [4];	for (int i=0; i<types.length; i++) {		if (types [i] == 0) {			types [i] = eventType;			handlers [i] = handler;			return;		}	}	int size = types.length;	int [] newTypes = new int [size + 4];	OleListener [] newHandlers = new OleListener [size + 4];	System.arraycopy (types, 0, newTypes, 0, size);	System.arraycopy (handlers, 0, newHandlers, 0, size);	types = newTypes;  handlers = newHandlers;	types [size] = eventType;  handlers [size] = handler;}boolean hooks (int eventType) {	if (handlers == null) return false;	for (int i=0; i<types.length; i++) {		if (types [i] == eventType) return true;	}	return false;}void sendEvent (OleEvent event) {	if (handlers == null) return;	for (int i=0; i<types.length; i++) {		if (types [i] == event.type) {			OleListener listener = handlers [i];			if (listener != null) listener.handleEvent (event);		}	}}void unhook (int eventType, OleListener handler) {	if (handlers == null) return;	for (int i=0; i<types.length; i++) {		if ((types [i] == eventType) && (handlers [i] == handler)) {			types [i] = 0;			handlers [i] = null;			return;		}	}}boolean hasEntries() {	for (int i=0; i<types.length; i++) {		if (types[i] != 0) return true;	}	return false;}}

⌨️ 快捷键说明

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