ireportkeywordlookup.java

来自「优秀的打印控件全源代码,类似水晶表的设计器!」· Java 代码 · 共 95 行

JAVA
95
字号
package org.syntax.jedit;import java.util.*;import org.syntax.jedit.tokenmarker.*;import javax.swing.text.Segment;public class IReportKeywordLookup implements KeywordLookupIF{        private ArrayList keys = new ArrayList();        public IReportKeywordLookup()        {        }        public void addKeyword(String keyword)        {          addKeyword(keyword, Token.PARAMETER_OK);        }        public void addKeyword(String keyword, byte token)        {          //System.out.println("add : " + keyword);          keys.add(new Key(keyword, token));        }        public void removeKeyword(String keyword)        {          Key key;          for(int i=0; i<keys.size(); i++)          {            key = (Key) keys.get(i);            if(key.keyword.equals(keyword))            {              keys.remove(key);            }          }        }	/**	 * Looks up a key.	 * @param text The text segment	 * @param offset The offset of the substring within the text segment	 * @param length The length of the substring	 */	public byte lookup(Segment text, int offset, int length)        {          Key key;          String keyword;          boolean found;          for(int i=0; i<keys.size(); i++)          {            key = (Key) keys.get(i);            keyword = key.keyword;            if(keyword.length() != length)            {              continue;            }            found = true;            for(int j=0; j<keyword.length(); j++)            {              if(keyword.charAt(j) != text.array[offset + j])              {                found = false;                break;              }            }            if(found)            {              return key.token;            }          }          return Token.NULL;        }        private class Key        {          String keyword;          byte token;          Key(String keyword, byte token)          {            this.keyword = keyword;            this.token = token;          }        }}

⌨️ 快捷键说明

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