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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? basictextui.java

?? java jdk 1.4的源碼
?? JAVA
?? 第 1 頁 / 共 5 頁
字號(hào):
/* * @(#)BasicTextUI.java	1.86 03/02/18 * * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.plaf.basic;import java.util.*;import java.awt.*;import java.awt.event.*;import java.awt.font.*;import java.awt.datatransfer.*;import java.awt.dnd.*;import java.awt.im.InputContext;import java.beans.*;import java.io.*;import java.net.*;import javax.swing.*;import javax.swing.plaf.*;import javax.swing.text.*;import javax.swing.event.*;import javax.swing.border.Border;import javax.swing.plaf.UIResource;/** * <p> * Basis of a text components look-and-feel.  This provides the * basic editor view and controller services that may be useful * when creating a look-and-feel for an extension of * <code>JTextComponent</code>. * <p> * Most state is held in the associated <code>JTextComponent</code> * as bound properties, and the UI installs default values for the  * various properties.  This default will install something for * all of the properties.  Typically, a LAF implementation will * do more however.  At a minimum, a LAF would generally install * key bindings. * <p> * This class also provides some concurrency support if the  * <code>Document</code> associated with the JTextComponent is a subclass of * <code>AbstractDocument</code>.  Access to the View (or View hierarchy) is * serialized between any thread mutating the model and the Swing * event thread (which is expected to render, do model/view coordinate * translation, etc).  <em>Any access to the root view should first * acquire a read-lock on the AbstractDocument and release that lock * in a finally block.</em> * <p> * An important method to define is the {@link #getPropertyPrefix} method * which is used as the basis of the keys used to fetch defaults * from the UIManager.  The string should reflect the type of  * TextUI (eg. TextField, TextArea, etc) without the particular  * LAF part of the name (eg Metal, Motif, etc). * <p> * To build a view of the model, one of the following strategies  * can be employed. * <ol> * <li> * One strategy is to simply redefine the  * ViewFactory interface in the UI.  By default, this UI itself acts * as the factory for View implementations.  This is useful * for simple factories.  To do this reimplement the  * {@link #create} method. * <li> * A common strategy for creating more complex types of documents * is to have the EditorKit implementation return a factory.  Since * the EditorKit ties all of the pieces necessary to maintain a type * of document, the factory is typically an important part of that * and should be produced by the EditorKit implementation. * <li> * A less common way to create more complex types is to have * the UI implementation create a. * separate object for the factory.  To do this, the  * {@link #createViewFactory} method should be reimplemented to  * return some factory. * </ol> * <p> * <strong>Warning:</strong> * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is * appropriate for short term storage or RMI between applications running * the same version of Swing.  As of 1.4, support for long term storage * of all JavaBeans<sup><font size="-2">TM</font></sup> * has been added to the <code>java.beans</code> package. * Please see {@link java.beans.XMLEncoder}. * * @author  Timothy Prinzing * @version 1.86 02/18/03 */public abstract class BasicTextUI extends TextUI implements ViewFactory {    /**     * Creates a new UI.     */    public BasicTextUI() {        painted = false;    }    /**     * Creates the object to use for a caret.  By default an     * instance of BasicCaret is created.  This method     * can be redefined to provide something else that implements     * the InputPosition interface or a subclass of JCaret.     *     * @return the caret object     */    protected Caret createCaret() {        return new BasicCaret();    }    /**     * Creates the object to use for adding highlights.  By default     * an instance of BasicHighlighter is created.  This method     * can be redefined to provide something else that implements     * the Highlighter interface or a subclass of DefaultHighlighter.     *     * @return the highlighter     */    protected Highlighter createHighlighter() {        return new BasicHighlighter();    }    /**     * Fetches the name of the keymap that will be installed/used      * by default for this UI. This is implemented to create a     * name based upon the classname.  The name is the the name     * of the class with the package prefix removed.     *     * @return the name     */    protected String getKeymapName() {	String nm = getClass().getName();	int index = nm.lastIndexOf('.');	if (index >= 0) {	    nm = nm.substring(index+1, nm.length());	}	return nm;    }    /**     * Creates the keymap to use for the text component, and installs     * any necessary bindings into it.  By default, the keymap is     * shared between all instances of this type of TextUI. The     * keymap has the name defined by the getKeymapName method.  If the     * keymap is not found, then DEFAULT_KEYMAP from JTextComponent is used.     * <p>     * The set of bindings used to create the keymap is fetched      * from the UIManager using a key formed by combining the     * {@link #getPropertyPrefix} method     * and the string <code>.keyBindings</code>.  The type is expected     * to be <code>JTextComponent.KeyBinding[]</code>.     *     * @return the keymap     * @see #getKeymapName     * @see javax.swing.text.JTextComponent     */    protected Keymap createKeymap() {	String nm = getKeymapName();	Keymap map = JTextComponent.getKeymap(nm);	if (map == null) {	    Keymap parent = JTextComponent.getKeymap(JTextComponent.DEFAULT_KEYMAP);	    map = JTextComponent.addKeymap(nm, parent);	    String prefix = getPropertyPrefix();	    Object o = UIManager.get(prefix + ".keyBindings");	    if ((o != null) && (o instanceof JTextComponent.KeyBinding[])) {		JTextComponent.KeyBinding[] bindings = (JTextComponent.KeyBinding[]) o;		JTextComponent.loadKeymap(map, bindings, getComponent().getActions());	    }	}	return map;    }    /**     * This method gets called when a bound property is changed     * on the associated JTextComponent.  This is a hook     * which UI implementations may change to reflect how the     * UI displays bound properties of JTextComponent subclasses.     * This is implemented to do nothing (i.e. the response to     * properties in JTextComponent itself are handled prior     * to calling this method).     *     * @param evt the property change event     */    protected void propertyChange(PropertyChangeEvent evt) {    }    /**     * Gets the name used as a key to look up properties through the     * UIManager.  This is used as a prefix to all the standard     * text properties.     *     * @return the name     */    protected abstract String getPropertyPrefix();    /**     * Initializes component properties, e.g. font, foreground,      * background, caret color, selection color, selected text color,     * disabled text color, and border color.  The font, foreground, and     * background properties are only set if their current value is either null     * or a UIResource, other properties are set if the current     * value is null.     *      * @see #uninstallDefaults     * @see #installUI     */    protected void installDefaults()     {	editor.addMouseListener(defaultDragRecognizer);	editor.addMouseMotionListener(defaultDragRecognizer);	        String prefix = getPropertyPrefix();        Font f = editor.getFont();        if ((f == null) || (f instanceof UIResource)) {            editor.setFont(UIManager.getFont(prefix + ".font"));        }        Color bg = editor.getBackground();        if ((bg == null) || (bg instanceof UIResource)) {            editor.setBackground(UIManager.getColor(prefix + ".background"));        }                Color fg = editor.getForeground();        if ((fg == null) || (fg instanceof UIResource)) {            editor.setForeground(UIManager.getColor(prefix + ".foreground"));        }        Color color = editor.getCaretColor();        if ((color == null) || (color instanceof UIResource)) {            editor.setCaretColor(UIManager.getColor(prefix + ".caretForeground"));        }        Color s = editor.getSelectionColor();        if ((s == null) || (s instanceof UIResource)) {            editor.setSelectionColor(UIManager.getColor(prefix + ".selectionBackground"));        }        Color sfg = editor.getSelectedTextColor();        if ((sfg == null) || (sfg instanceof UIResource)) {            editor.setSelectedTextColor(UIManager.getColor(prefix + ".selectionForeground"));        }        Color dfg = editor.getDisabledTextColor();        if ((dfg == null) || (dfg instanceof UIResource)) {            editor.setDisabledTextColor(UIManager.getColor(prefix + ".inactiveForeground"));        }        Border b = editor.getBorder();        if ((b == null) || (b instanceof UIResource)) {            editor.setBorder(UIManager.getBorder(prefix + ".border"));        }        Insets margin = editor.getMargin();        if (margin == null || margin instanceof UIResource) {            editor.setMargin(UIManager.getInsets(prefix + ".margin"));        }        Caret caret = editor.getCaret();        if (caret == null || caret instanceof UIResource) {            caret = createCaret();            editor.setCaret(caret);                    Object o = UIManager.get(prefix + ".caretBlinkRate");            if ((o != null) && (o instanceof Integer)) {                Integer rate = (Integer) o;                caret.setBlinkRate(rate.intValue());            }        }        Highlighter highlighter = editor.getHighlighter();        if (highlighter == null || highlighter instanceof UIResource) {            editor.setHighlighter(createHighlighter());        }	TransferHandler th = editor.getTransferHandler();	if (th == null || th instanceof UIResource) {	    editor.setTransferHandler(getTransferHandler());	}	DropTarget dropTarget = editor.getDropTarget();	if (dropTarget instanceof UIResource) {            if (defaultDropTargetListener == null) {                defaultDropTargetListener = new TextDropTargetListener();            }	    try {		dropTarget.addDropTargetListener(defaultDropTargetListener);	    } catch (TooManyListenersException tmle) {		// should not happen... swing drop target is multicast	    }	}    }    /**     * Sets the component properties that haven't been explicitly overridden to      * null.  A property is considered overridden if its current value     * is not a UIResource.     *      * @see #installDefaults     * @see #uninstallUI     */    protected void uninstallDefaults()     {	editor.removeMouseListener(defaultDragRecognizer);	editor.removeMouseMotionListener(defaultDragRecognizer);        if (editor.getCaretColor() instanceof UIResource) {            editor.setCaretColor(null);        }                                                                                                 if (editor.getSelectionColor() instanceof UIResource) {            editor.setSelectionColor(null);        }        if (editor.getDisabledTextColor() instanceof UIResource) {            editor.setDisabledTextColor(null);        }        if (editor.getSelectedTextColor() instanceof UIResource) {            editor.setSelectedTextColor(null);        }        if (editor.getBorder() instanceof UIResource) {            editor.setBorder(null);        }        if (editor.getMargin() instanceof UIResource) {            editor.setMargin(null);        }        if (editor.getCaret() instanceof UIResource) {            editor.setCaret(null);        }        if (editor.getHighlighter() instanceof UIResource) {            editor.setHighlighter(null);        }	if (editor.getTransferHandler() instanceof UIResource) {	    editor.setTransferHandler(null);	}    }    /**     * Installs listeners for the UI.     */    protected void installListeners() {    }    /**     * Uninstalls listeners for the UI.     */    protected void uninstallListeners() {    }    protected void installKeyboardActions() {	// backward compatibility support... keymaps for the UI	// are now installed in the more friendly input map.        editor.setKeymap(createKeymap());         InputMap km = getInputMap();	if (km != null) {	    SwingUtilities.replaceUIInputMap(editor, JComponent.WHEN_FOCUSED,					     km);	}		ActionMap map = getActionMap();	if (map != null) {	    SwingUtilities.replaceUIActionMap(editor, map);	}	updateFocusAcceleratorBinding(false);    }    /**     * Get the InputMap to use for the UI.       */    InputMap getInputMap() {	InputMap map = new InputMapUIResource();	InputMap shared = 	    (InputMap)UIManager.get(getPropertyPrefix() + ".focusInputMap");	if (shared != null) {	    map.setParent(shared);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲在线观看免费视频| 亚洲高清视频中文字幕| 欧美日韩国产电影| 粉嫩一区二区三区性色av| 午夜久久久久久| 国产精品久久久久一区| 日韩精品一区二区三区蜜臀| 91久久线看在观草草青青 | 成人午夜av影视| 偷拍日韩校园综合在线| 国产精品麻豆久久久| 精品成人在线观看| 4438x成人网最大色成网站| 91丨porny丨户外露出| 国产裸体歌舞团一区二区| 奇米精品一区二区三区在线观看一| 亚洲色图清纯唯美| 国产精品私房写真福利视频| 精品乱人伦一区二区三区| 欧美日韩卡一卡二| 在线精品视频一区二区三四| 成人高清伦理免费影院在线观看| 韩国午夜理伦三级不卡影院| 日本视频一区二区三区| 亚洲www啪成人一区二区麻豆 | 亚洲一区二区在线视频| 中文字幕在线一区| 日本一区二区在线不卡| 久久久久国产免费免费| 久久中文娱乐网| 精品国产3级a| 欧美成人精精品一区二区频| 日韩欧美一区二区久久婷婷| 日韩一区二区三区免费看| 欧美日韩中文精品| 777午夜精品视频在线播放| 欧美色倩网站大全免费| 精品视频在线看| 欧美日韩一级二级三级| 欧美日韩大陆在线| 91精品国产aⅴ一区二区| 91.麻豆视频| 日韩精品中文字幕一区| 欧美成人官网二区| 久久久99精品免费观看不卡| 国产色91在线| 亚洲欧洲国产日韩| 又紧又大又爽精品一区二区| 亚洲国产你懂的| 日韩高清不卡在线| 久久99国内精品| 丁香桃色午夜亚洲一区二区三区| 成人黄色777网| 91久久精品午夜一区二区| 欧美日韩免费一区二区三区| 日韩一区二区精品葵司在线| 久久久久久久一区| 专区另类欧美日韩| 丝袜亚洲另类丝袜在线| 黄色日韩三级电影| 不卡在线观看av| 91成人国产精品| 日韩欧美第一区| 国产精品区一区二区三区| 亚洲另类中文字| 日韩二区三区在线观看| 国产成人综合亚洲网站| 色综合久久88色综合天天 | 在线视频综合导航| 精品视频在线免费| 久久久久久影视| 一区二区三区四区五区视频在线观看| 视频一区视频二区在线观看| 国产一区二区在线免费观看| 色网站国产精品| 日韩欧美成人激情| 亚洲美女在线一区| 精品在线亚洲视频| 色视频成人在线观看免| 日韩欧美中文字幕公布| 一色桃子久久精品亚洲| 午夜视黄欧洲亚洲| 国产成人av影院| 欧美乱熟臀69xxxxxx| 国产日韩影视精品| 午夜视频久久久久久| 成人教育av在线| 91精品国产一区二区三区蜜臀| 国产三级一区二区| 日本欧洲一区二区| 91麻豆国产福利精品| 欧美刺激脚交jootjob| 亚洲一区国产视频| 国产ts人妖一区二区| 日韩亚洲欧美在线| 亚洲精品成人少妇| 国产高清久久久久| 91麻豆精品国产综合久久久久久| 国产精品久久久久久久午夜片| 免费一级片91| 欧美亚洲一区三区| 1区2区3区国产精品| 国产麻豆成人传媒免费观看| 69p69国产精品| 一区二区三区四区激情| 高清不卡在线观看| 欧美mv日韩mv国产网站app| 亚洲国产欧美一区二区三区丁香婷| 成人av免费在线观看| www激情久久| 日本成人在线网站| 欧美私人免费视频| 亚洲天天做日日做天天谢日日欢| 国产成人精品1024| 久久蜜桃一区二区| 九九**精品视频免费播放| 欧美日韩国产综合草草| 亚洲综合一区二区精品导航| 97久久精品人人做人人爽50路 | 久久久午夜精品理论片中文字幕| 五月婷婷欧美视频| 日本精品裸体写真集在线观看| 一区在线观看免费| jlzzjlzz亚洲日本少妇| 亚洲国产精华液网站w| 国产精品一区三区| 久久久久久久免费视频了| 久久av中文字幕片| 精品少妇一区二区三区在线视频| 免费高清在线一区| 日韩女优av电影在线观看| 日本va欧美va精品| 日韩欧美一级片| 激情六月婷婷综合| 亚洲精品一线二线三线| 国产在线视频一区二区| 亚洲精品一区二区三区在线观看| 麻豆精品一区二区三区| 精品免费国产二区三区| 久久aⅴ国产欧美74aaa| 久久久精品tv| 成人h版在线观看| 亚洲特黄一级片| 欧美在线免费观看视频| 日韩和的一区二区| 日韩亚洲国产中文字幕欧美| 久久国产婷婷国产香蕉| 国产日韩在线不卡| 91女厕偷拍女厕偷拍高清| 亚洲曰韩产成在线| 在线播放91灌醉迷j高跟美女 | 国产成人亚洲综合a∨婷婷图片| 国产婷婷一区二区| av资源站一区| 亚洲最新视频在线观看| 欧美精品免费视频| 国内精品在线播放| 国产精品久久久久久亚洲伦| 欧美午夜精品理论片a级按摩| 天天做天天摸天天爽国产一区 | 日本电影亚洲天堂一区| 五月激情六月综合| 久久亚洲精品小早川怜子| 成人福利视频在线| 亚洲国产综合91精品麻豆| 91精品国产日韩91久久久久久| 国产精品自在在线| 亚洲精品日产精品乱码不卡| 欧美电影一区二区三区| 国产精品1024久久| 亚洲综合丁香婷婷六月香| 精品噜噜噜噜久久久久久久久试看 | 亚洲网友自拍偷拍| 久久影院午夜论| 日本高清免费不卡视频| 精品一区二区三区久久| 136国产福利精品导航| 欧美一级理论片| 成人国产免费视频| 天堂蜜桃91精品| 国产精品久久久久精k8| 欧美日韩成人一区二区| 高清国产午夜精品久久久久久| 亚洲图片欧美视频| 国产欧美一区二区精品久导航| 欧美日韩激情在线| 不卡的电视剧免费网站有什么| 日本中文字幕一区二区有限公司| 国产精品九色蝌蚪自拍| 日韩精品中文字幕一区二区三区| 色婷婷激情一区二区三区| 蜜桃精品视频在线观看| 亚洲欧美另类久久久精品| 欧美精品一区二区三区蜜桃视频| 一本色道久久综合亚洲91 | 午夜精品一区二区三区免费视频| 日本一区二区免费在线 | 有坂深雪av一区二区精品| 国产午夜精品一区二区三区嫩草| 欧美肥妇bbw|