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

📄 autocomplete.java

📁 非常接近C/S操作方式的Java Ajax框架-ZK 用ZK框架使你的B/S应用程序更漂亮更易操作。 官网:www.zkoss.org
💻 JAVA
字号:
/* AutoComplete.java{{IS_NOTE	Purpose:			Description:			History:		Wed Dec 13 12:04:33     2006, Created by tomyeh}}IS_NOTECopyright (C) 2006 Potix Corporation. All Rights Reserved.{{IS_RIGHT}}IS_RIGHT*/package org.zkoss.zkdemo.userguide;import java.util.Iterator;import java.util.Arrays;import org.zkoss.zk.ui.event.InputEvent;import org.zkoss.zul.*;/** * An example of auto-complete with combobox. * * @author tomyeh */public class AutoComplete extends Combobox {	private static String[] _dict = { //alphabetic order		"abacus", "accuracy", "acuity", "adage", "afar", "after", "apple",		"bible", "bird", "bingle", "blog",		"cabane", "cape", "cease", "cedar",		"dacron", "definable", "defacto", "deluxe",		"each", "eager", "effect", "efficacy",		"far", "far from",		"girl", "gigantean", "giant",		"home", "honest", "huge",		"information", "inner",		"jump", "jungle", "jungle fever",		"kaka", "kale", "kame",		"lamella", "lane", "lemma",		"master", "maxima", "music",		"nerve", "new", "number",		"omega", "opera",		"pea", "peace", "peaceful",		"rock",		"sound", "spread", "student", "super",		"tea", "teacher",		"unit", "universe",		"vector", "victory",		"wake", "wee", "weak",		"xeme",		"yea", "yellow",		"zebra", "zk",	};	public AutoComplete() {		refresh("");	}	public AutoComplete(String value) {		super(value); //it invokes setValue	}	public void setValue(String value) {		super.setValue(value);		refresh(value);	}	public void onChanging(InputEvent evt) {		if (!evt.isChangingBySelectBack())			refresh(evt.getValue());	}	/** Refresh comboitem based on the specified value.	 */	private void refresh(String val) {		int j = Arrays.binarySearch(_dict, val);		if (j < 0) j = -j-1;		Iterator it = getItems().iterator();		for (int cnt = 10; --cnt >= 0 && j < _dict.length && _dict[j].startsWith(val); ++j) {			if (it != null && it.hasNext()) {				((Comboitem)it.next()).setLabel(_dict[j]);			} else {				it = null;				new Comboitem(_dict[j]).setParent(this);			}		}		while (it != null && it.hasNext()) {			it.next();			it.remove();		}	}}

⌨️ 快捷键说明

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