亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? htmleditorkit.java

?? JAVA的一些源碼 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
/* * @(#)HTMLEditorKit.java	1.131 04/05/18 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.text.html;import java.lang.reflect.Method;import java.awt.*;import java.awt.event.*;import java.io.*;import java.net.MalformedURLException;import java.net.URL;import javax.swing.text.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.event.*;import javax.swing.plaf.TextUI;import java.util.*;import javax.accessibility.*;import java.lang.ref.*;/** * The Swing JEditorPane text component supports different kinds * of content via a plug-in mechanism called an EditorKit.  Because * HTML is a very popular format of content, some support is provided * by default.  The default support is provided by this class, which * supports HTML version 3.2 (with some extensions), and is migrating  * toward version 4.0. * The &lt;applet&gt; tag is not supported, but some support is provided * for the &lt;object&gt; tag. * <p> * There are several goals of the HTML EditorKit provided, that have * an effect upon the way that HTML is modeled.  These * have influenced its design in a substantial way.   * <dl> * <p> * <dt> * Support editing * <dd> * It might seem fairly obvious that a plug-in for JEditorPane * should provide editing support, but that fact has several * design considerations.  There are a substantial number of HTML * documents that don't properly conform to an HTML specification. * These must be normalized somewhat into a correct form if one * is to edit them.  Additionally, users don't like to be presented * with an excessive amount of structure editing, so using traditional * text editing gestures is preferred over using the HTML structure  * exactly as defined in the HTML document. * <p> * The modeling of HTML is provided by the class <code>HTMLDocument</code>. * Its documention describes the details of how the HTML is modeled. * The editing support leverages heavily off of the text package. * <p> * <dt> * Extendable/Scalable * <dd> * To maximize the usefulness of this kit, a great deal of effort * has gone into making it extendable.  These are some of the * features. * <ol> *   <li> *   The parser is replacable.  The default parser is the Hot Java *   parser which is DTD based.  A different DTD can be used, or an *   entirely different parser can be used.  To change the parser, *   reimplement the getParser method.  The default parser is  *   dynamically loaded when first asked for, so the class files *   will never be loaded if an alternative parser is used.  The *   default parser is in a separate package called parser below *   this package. *   <li> *   The parser drives the ParserCallback, which is provided by *   HTMLDocument.  To change the callback, subclass HTMLDocument *   and reimplement the createDefaultDocument method to return *   document that produces a different reader.  The reader controls *   how the document is structured.  Although the Document provides *   HTML support by default, there is nothing preventing support of *   non-HTML tags that result in alternative element structures. *   <li> *   The default view of the models are provided as a hierarchy of *   View implementations, so one can easily customize how a particular *   element is displayed or add capabilities for new kinds of elements *   by providing new View implementations.  The default set of views *   are provided by the <code>HTMLFactory</code> class.  This can *   be easily changed by subclassing or replacing the HTMLFactory  *   and reimplementing the getViewFactory method to return the alternative *   factory. *   <li> *   The View implementations work primarily off of CSS attributes,  *   which are kept in the views.  This makes it possible to have *   multiple views mapped over the same model that appear substantially *   different.  This can be especially useful for printing.  For *   most HTML attributes, the HTML attributes are converted to CSS *   attributes for display.  This helps make the View implementations *   more general purpose * </ol> * <p> * <dt> * Asynchronous Loading * <dd> * Larger documents involve a lot of parsing and take some time * to load.  By default, this kit produces documents that will be * loaded asynchronously if loaded using <code>JEditorPane.setPage</code>. * This is controlled by a property on the document.  The method * <a href="#createDefaultDocument">createDefaultDocument</a> can * be overriden to change this.  The batching of work is done * by the <code>HTMLDocument.HTMLReader</code> class.  The actual * work is done by the <code>DefaultStyledDocument</code> and * <code>AbstractDocument</code> classes in the text package. * <p> * <dt> * Customization from current LAF * <dd> * HTML provides a well known set of features without exactly * specifying the display characteristics.  Swing has a theme * mechanism for its look-and-feel implementations.  It is desirable * for the look-and-feel to feed display characteristics into the * HTML views.  An user with poor vision for example would want * high contrast and larger than typical fonts. * <p> * The support for this is provided by the <code>StyleSheet</code> * class.  The presentation of the HTML can be heavily influenced * by the setting of the StyleSheet property on the EditorKit. * <p> * <dt> * Not lossy * <dd> * An EditorKit has the ability to be read and save documents. * It is generally the most pleasing to users if there is no loss * of data between the two operation.  The policy of the HTMLEditorKit * will be to store things not recognized or not necessarily visible * so they can be subsequently written out.  The model of the HTML document * should therefore contain all information discovered while reading the * document.  This is constrained in some ways by the need to support  * editing (i.e. incorrect documents sometimes must be normalized). * The guiding principle is that information shouldn't be lost, but * some might be synthesized to produce a more correct model or it might * be rearranged. * </dl> * * @author  Timothy Prinzing * @version 1.131 05/18/04 */public class HTMLEditorKit extends StyledEditorKit implements Accessible {    private JEditorPane theEditor;       /**     * Constructs an HTMLEditorKit, creates a StyleContext,     * and loads the style sheet.     */    public HTMLEditorKit() {    }    /**     * Get the MIME type of the data that this     * kit represents support for.  This kit supports     * the type <code>text/html</code>.     *     * @return the type     */    public String getContentType() {	return "text/html";    }    /**     * Fetch a factory that is suitable for producing      * views of any models that are produced by this     * kit.       *     * @return the factory     */    public ViewFactory getViewFactory() {	return defaultFactory;    }    /**     * Create an uninitialized text storage model     * that is appropriate for this type of editor.     *     * @return the model     */    public Document createDefaultDocument() {	StyleSheet styles = getStyleSheet();	StyleSheet ss = new StyleSheet();	ss.addStyleSheet(styles);	HTMLDocument doc = new HTMLDocument(ss);	doc.setParser(getParser());	doc.setAsynchronousLoadPriority(4);	doc.setTokenThreshold(100);	return doc;    }    /**     * Inserts content from the given stream. If <code>doc</code> is     * an instance of HTMLDocument, this will read     * HTML 3.2 text. Inserting HTML into a non-empty document must be inside     * the body Element, if you do not insert into the body an exception will     * be thrown. When inserting into a non-empty document all tags outside     * of the body (head, title) will be dropped.     *      * @param in  the stream to read from     * @param doc the destination for the insertion     * @param pos the location in the document to place the     *   content     * @exception IOException on any I/O error     * @exception BadLocationException if pos represents an invalid     *   location within the document     * @exception RuntimeException (will eventually be a BadLocationException)     *            if pos is invalid     */    public void read(Reader in, Document doc, int pos) throws IOException, BadLocationException {	if (doc instanceof HTMLDocument) {	    HTMLDocument hdoc = (HTMLDocument) doc;	    Parser p = getParser();	    if (p == null) {		throw new IOException("Can't load parser");	    }	    if (pos > doc.getLength()) {		throw new BadLocationException("Invalid location", pos);	    }	    ParserCallback receiver = hdoc.getReader(pos);	    Boolean ignoreCharset = (Boolean)doc.getProperty("IgnoreCharsetDirective");	    p.parse(in, receiver, (ignoreCharset == null) ? false : ignoreCharset.booleanValue());	    receiver.flush();	} else {	    super.read(in, doc, pos);	}    }    /**     * Inserts HTML into an existing document.     *     * @param doc       the document to insert into     * @param offset    the offset to insert HTML at     * @param popDepth  the number of ElementSpec.EndTagTypes to generate before     *        inserting     * @param pushDepth the number of ElementSpec.StartTagTypes with a direction     *        of ElementSpec.JoinNextDirection that should be generated     *        before inserting, but after the end tags have been generated     * @param insertTag the first tag to start inserting into document     * @exception RuntimeException (will eventually be a BadLocationException)     *            if pos is invalid     */    public void insertHTML(HTMLDocument doc, int offset, String html,			   int popDepth, int pushDepth,			   HTML.Tag insertTag) throws	               BadLocationException, IOException {	Parser p = getParser();	if (p == null) {	    throw new IOException("Can't load parser");	}	if (offset > doc.getLength()) {	    throw new BadLocationException("Invalid location", offset);	}	ParserCallback receiver = doc.getReader(offset, popDepth, pushDepth,						insertTag);	Boolean ignoreCharset = (Boolean)doc.getProperty	                        ("IgnoreCharsetDirective");	p.parse(new StringReader(html), receiver, (ignoreCharset == null) ?		false : ignoreCharset.booleanValue());	receiver.flush();    }    /**     * Write content from a document to the given stream     * in a format appropriate for this kind of content handler.     *      * @param out  the stream to write to     * @param doc  the source for the write     * @param pos  the location in the document to fetch the     *   content     * @param len  the amount to write out     * @exception IOException on any I/O error     * @exception BadLocationException if pos represents an invalid     *   location within the document     */    public void write(Writer out, Document doc, int pos, int len) 	throws IOException, BadLocationException {	if (doc instanceof HTMLDocument) {	    HTMLWriter w = new HTMLWriter(out, (HTMLDocument)doc, pos, len);	    w.write();	} else if (doc instanceof StyledDocument) {	    MinimalHTMLWriter w = new MinimalHTMLWriter(out, (StyledDocument)doc, pos, len);	    w.write();	} else {	    super.write(out, doc, pos, len);	}    }    /**     * Called when the kit is being installed into the     * a JEditorPane.      *     * @param c the JEditorPane     */    public void install(JEditorPane c) {	c.addMouseListener(linkHandler);        c.addMouseMotionListener(linkHandler);	c.addCaretListener(nextLinkAction);	super.install(c);        theEditor = c;    }    /**     * Called when the kit is being removed from the     * JEditorPane.  This is used to unregister any      * listeners that were attached.     *     * @param c the JEditorPane     */    public void deinstall(JEditorPane c) {	c.removeMouseListener(linkHandler);        c.removeMouseMotionListener(linkHandler);	c.removeCaretListener(nextLinkAction);	super.deinstall(c);        theEditor = null;    }    /**     * Default Cascading Style Sheet file that sets     * up the tag views.     */    public static final String DEFAULT_CSS = "default.css";    /**     * Set the set of styles to be used to render the various     * HTML elements.  These styles are specified in terms of     * CSS specifications.  Each document produced by the kit     * will have a copy of the sheet which it can add the      * document specific styles to.  By default, the StyleSheet     * specified is shared by all HTMLEditorKit instances.     * This should be reimplemented to provide a finer granularity     * if desired.     */    public void setStyleSheet(StyleSheet s) {	defaultStyles = s;    }    /**     * Get the set of styles currently being used to render the     * HTML elements.  By default the resource specified by     * DEFAULT_CSS gets loaded, and is shared by all HTMLEditorKit      * instances.     */    public StyleSheet getStyleSheet() {	if (defaultStyles == null) {	    defaultStyles = new StyleSheet();	    try {		InputStream is = HTMLEditorKit.getResourceAsStream(DEFAULT_CSS);		Reader r = new BufferedReader(		        new InputStreamReader(is, "ISO-8859-1"));		defaultStyles.loadRules(r, null);		r.close();	    } catch (Throwable e) {		// on error we simply have no styles... the html		// will look mighty wrong but still function.	    }	}	return defaultStyles;    }        /**     * Fetch a resource relative to the HTMLEditorKit classfile.     * If this is called on 1.2 the loading will occur under the     * protection of a doPrivileged call to allow the HTMLEditorKit     * to function when used in an applet.     *     * @param name the name of the resource, relative to the     *  HTMLEditorKit class     * @return a stream representing the resource     */    static InputStream getResourceAsStream(String name) {	try {            return ResourceLoader.getResourceAsStream(name);	} catch (Throwable e) {	    // If the class doesn't exist or we have some other 	    // problem we just try to call getResourceAsStream directly.	    return HTMLEditorKit.class.getResourceAsStream(name);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品乱码一区二三区小蝌蚪| 久久99精品一区二区三区| 日韩免费一区二区| 成人激情开心网| 日韩—二三区免费观看av| 中文字幕av资源一区| 日韩一本二本av| 91成人免费电影| 成人永久aaa| 另类专区欧美蜜桃臀第一页| 一区二区三区欧美久久| 国产精品视频九色porn| 国产精品麻豆视频| 欧美成人猛片aaaaaaa| 欧美老人xxxx18| 欧美又粗又大又爽| 色综合久久99| av不卡一区二区三区| 高清不卡在线观看av| 日韩欧美中文字幕制服| 国内精品嫩模私拍在线| 欧美一区二区三区四区高清| 亚洲精品视频免费看| 成人午夜av电影| 在线不卡欧美精品一区二区三区| 亚洲精品免费在线| 欧美亚洲国产一区二区三区va| 中文字幕日韩精品一区| hitomi一区二区三区精品| 亚洲人成网站在线| 欧美中文字幕不卡| 日本不卡一区二区三区高清视频| 欧美成人r级一区二区三区| 麻豆一区二区在线| 久久综合九色综合欧美98| 777久久久精品| 欧美a级一区二区| 亚洲一区二区精品久久av| 中文字幕 久热精品 视频在线| 欧美精品乱码久久久久久| 成人免费毛片嘿嘿连载视频| 视频在线观看一区| 国产高清亚洲一区| 精品美女在线播放| 97国产一区二区| 肉色丝袜一区二区| 日韩电影一区二区三区| 国产精品天美传媒| 亚洲高清免费视频| 亚洲在线免费播放| 亚洲三级免费观看| 成人免费一区二区三区在线观看| 欧美激情综合网| 欧美国产97人人爽人人喊| ㊣最新国产の精品bt伙计久久| 91精品久久久久久久91蜜桃| 91亚洲精品久久久蜜桃网站 | 91麻豆免费在线观看| 综合久久久久综合| 91精品国产aⅴ一区二区| 成人在线视频一区二区| 不卡一区二区在线| 久久综合久色欧美综合狠狠| 亚洲高清三级视频| 欧美在线观看视频一区二区三区| 欧美天堂一区二区三区| 欧美性一区二区| 精品国产91亚洲一区二区三区婷婷 | 日韩黄色免费网站| 久草精品在线观看| 国产成人午夜99999| 成人免费视频播放| 色综合天天综合狠狠| 日本乱人伦一区| 性做久久久久久免费观看| 精品影院一区二区久久久| 国产伦精品一区二区三区在线观看| jlzzjlzz国产精品久久| 日本丰满少妇一区二区三区| 欧美一区二区精品| 国产日韩欧美综合在线| 国产精品无码永久免费888| 亚洲女子a中天字幕| 日韩影视精彩在线| 国产精品一区二区三区网站| 成人av综合一区| 欧美性猛片aaaaaaa做受| 国产亚洲综合色| 亚洲精品水蜜桃| 极品尤物av久久免费看| 99国产精品久久久久久久久久 | 91高清视频免费看| 欧美一区在线视频| 国产99精品视频| 日韩一区二区在线观看视频播放| 国产日韩欧美精品电影三级在线| 樱花草国产18久久久久| 久久成人18免费观看| 94-欧美-setu| 精品日韩99亚洲| 亚洲视频一区二区在线观看| 麻豆精品一二三| 91色|porny| 久久视频一区二区| 亚洲成人激情自拍| 粉嫩久久99精品久久久久久夜| 欧美精品一区二区三区蜜桃视频| 综合在线观看色| 久草这里只有精品视频| 欧美日韩精品一区二区三区| 久久精品水蜜桃av综合天堂| 美女免费视频一区二区| 在线视频国内自拍亚洲视频| 国产精品卡一卡二| 韩国一区二区视频| 97精品国产露脸对白| 国产精品区一区二区三区| 无码av中文一区二区三区桃花岛| 色天使色偷偷av一区二区| 久久你懂得1024| 久久国产乱子精品免费女| 欧美三级在线播放| 亚洲一区在线电影| 99精品桃花视频在线观看| 国产精品嫩草影院av蜜臀| 精品一区二区三区免费播放| 在线视频欧美精品| 一区二区视频在线看| 国产91丝袜在线18| 国产精品免费视频观看| 国产一区二区福利视频| 这里只有精品电影| 亚洲一区二区三区小说| av不卡免费电影| 中文字幕一区av| 成人晚上爱看视频| 国产日韩欧美高清| 激情六月婷婷久久| 精品日产卡一卡二卡麻豆| 日本女优在线视频一区二区| 欧美性受极品xxxx喷水| 亚洲激情av在线| 色综合久久综合网97色综合 | 亚洲一区二区三区不卡国产欧美| a美女胸又www黄视频久久| 国产精品午夜春色av| 大胆欧美人体老妇| 久久综合九色综合久久久精品综合| 久久国产精品72免费观看| 日韩欧美在线网站| 久久精品国产99| 久久这里只有精品6| 激情成人综合网| 久久综合久久久久88| 韩国视频一区二区| 久久久久久久久99精品| 国产美女娇喘av呻吟久久| 国产午夜精品在线观看| 国产99精品国产| 国产精品成人一区二区艾草| 99久久久久久| 亚洲国产高清在线观看视频| 九九精品一区二区| 中文字幕制服丝袜成人av| 91色在线porny| 亚洲国产精品自拍| 日韩一区二区视频| 久久99热这里只有精品| 国产日韩欧美一区二区三区综合| 国产激情视频一区二区在线观看| 国产女同性恋一区二区| 成人美女视频在线观看| 日韩美女啊v在线免费观看| 91成人免费在线视频| 日韩黄色一级片| 欧美精品一区二区三区在线| 成人动漫一区二区三区| 欧美激情在线免费观看| 99久久99精品久久久久久| 日韩影院免费视频| 国产丝袜在线精品| 日韩三级高清在线| 国产成人精品1024| 一区二区三区成人| 日韩精品一区二区在线观看| 国产白丝精品91爽爽久久| 日韩伦理免费电影| 欧美一区二区三区影视| 国产精品一区不卡| 亚洲久本草在线中文字幕| 日韩丝袜情趣美女图片| 国产一本一道久久香蕉| 久久九九久精品国产免费直播| 在线免费一区三区| 国产最新精品精品你懂的| 亚洲免费伊人电影| 日韩丝袜情趣美女图片| 成人国产在线观看| 日韩精品电影在线观看| 一区在线观看视频|