public void colouring(StyledDocument doc, int pos, int len)
				throws BadLocationException {
			// ȡòɾӰ쵽ĵ.
			// "public"bһո, ͱ:"pub lic", ʱҪ:"pub""lic"
			// ʱҪȡõķΧpubpǰλúliccλ
			int start = indexOfWordStart(doc, pos);
			int end = indexOfWordEnd(doc, pos + len);

			char ch;
			while (start < end) {
				ch = getCharAt(doc, start);
				if (Character.isLetter(ch) || ch == '_') {
					// ĸ»߿ͷ, ˵ǵ
					// posΪһ±
					start = colouringWord(doc, start);
				} else {
					SwingUtilities.invokeLater(new ColouringTask(doc, start, 1,
							normalStyle));
					++start;
				}
			}
		}