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

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

?? stringformat.java

?? Java開發圖文混排的編輯器
?? JAVA
字號:
/*
 * Created on 2004-7-20
 * Author: Xuefeng, Copyright (C) 2004, Xuefeng.
 */
package jexi.core.format;

import jexi.core.*;
import jexi.ui.*;

/**
 * StringFormat is used to render a string of Char glyphs. 
 * A paragraph object contains one or more StringFormat object  
 * and each StringFormat knows the start and end index of the Char(s). 
 * 
 * @author Xuefeng
 */
public class StringFormat implements Cloneable {

    // the reference of paragraph:
    private Paragraph paragraph;
    private int startIndex;
    private int endIndex;

    private Font font;
    private Color color = Color.BLACK;

    /**
     * To create a StringFormat:
     * 
     * @param paragraph The paragraph it belongs to.
     * @param font The font.
     * @param color The font color.
     * @param startIndex The start index of the Char.
     * @param endIndex The end index of the Char.
     */
    public StringFormat(Paragraph paragraph, Font font, Color color, int startIndex, int endIndex) {
        Assert.checkNull(paragraph);
        Assert.checkNull(color);
       // Assert.checkNull(font);
        Assert.checkTrue( 0<=startIndex );
        Assert.checkTrue( endIndex<paragraph.getGlyphsCount() );
        Assert.checkTrue( startIndex<=endIndex );

        this.paragraph = paragraph;
        this.font = font;
        this.color = color;
        this.startIndex = startIndex;
        this.endIndex = endIndex;
    }

    /**
     * Get the font format. 
     * 
     * @return The font object.
     */
    public Font getFont() {
        return this.font;
    }

    /**
     * Set the new font. 
     * 
     * @param font The new font.
     */
    public void setFont(Font font) {
        this.font = font;
    }

    /**
     * If some Char(s) are inserted in the range represented by 
     * this StringFormat, then use increase() method to update it. 
     * 
     * @param n How many Char(s) are inserted.
     */
    public void increase(int n) {
        this.endIndex += n;
    }

    /**
     * Once some Glyphs were inserted before the range represented by this StringStyle, 
     * using move() instead of create new StringFormats behind the insert point.
     * 
     * @param steps How many glyphs inserted before.
     */
    public void move(int steps) {
        this.startIndex += steps;
        this.endIndex += steps;
    }

    /**
     * The comparation of two StringFormat will be true if:<br>
     * 1. They belongs to the same paragraph;<br>
     * 2. They have same font style and color;<br>
     * 3. They have same start and end index.
     * 
     * @return true if the comparation succeeded.
     */
    public boolean equals(Object o) {
        if( o instanceof StringFormat ) {
            StringFormat sf = (StringFormat)o;
            return (this.paragraph==sf.paragraph &&
                    this.font.equals(sf.font) &&
                    this.color.equals(sf.color) &&
                    this.startIndex== sf.startIndex &&
                    this.endIndex==sf.endIndex
                );
        }
        return false;
    }

    /**
     * Check if the range contains the specified index.
     * 
     * @param index The specified index.
     * @return True if it contains the index.
     */
    public boolean contains(int index) {
        return ( (this.startIndex<=index) && (index<=this.endIndex) );
    }

    /**
     * Get the font color. 
     * 
     * @return The font color.
     */
    public Color getColor() {
        return this.color;
    }

    /**
     * Set the new color. 
     * 
     * @param color The new color.
     */
    public void setColor(Color color) {
        this.color = color;
    }

    /**
     * Get the start index. 
     * 
     * @return The start index.
     */
    public int getStartIndex() {
        return this.startIndex;
    }

    /**
     * Get the end index. 
     * 
     * @return The end index.
     */
    public int getEndIndex() {
        return this.endIndex;
    }

    /**
     * Set the start index. Should be careful to use. 
     * 
     * @param startIndex The start index.
     */
    public void setStartIndex(int startIndex) {
        this.startIndex = startIndex;
    }

    /**
     * Set the end index. Should be careful to use. 
     * 
     * @param endIndex The end index.
     */
    public void setEndIndex(int endIndex) {
        this.endIndex = endIndex;
    }

    /* (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    public String toString() {
        return "[" + this.startIndex + ", " + this.endIndex + "]";
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
a4yy欧美一区二区三区| av电影在线观看不卡| 亚洲最新在线观看| 国产精品国产自产拍在线| 国产欧美一区二区精品性| 欧美精品自拍偷拍动漫精品| 欧美亚洲丝袜传媒另类| 777亚洲妇女| 欧美videossexotv100| 久久影院午夜片一区| 久久久精品欧美丰满| 中文字幕+乱码+中文字幕一区| 国产亚洲欧美色| 中文字幕中文乱码欧美一区二区 | 综合久久给合久久狠狠狠97色| 国产精品国产馆在线真实露脸 | 欧美日韩国产在线播放网站| 91国偷自产一区二区开放时间| 在线精品视频一区二区三四| 91国产福利在线| 欧美日本一区二区三区四区| 日韩一级在线观看| 久久午夜电影网| 国产精品久久久久久久久久久免费看 | 粉嫩一区二区三区性色av| 成人午夜在线视频| 91视频在线看| 欧美另类久久久品| 亚洲免费在线观看| 91精品一区二区三区在线观看| 日韩免费电影网站| 国产精品福利一区二区三区| 亚洲福利一区二区| 国产一区二区三区日韩| 又紧又大又爽精品一区二区| 日韩中文字幕亚洲一区二区va在线| 狠狠色丁香久久婷婷综| 99精品久久只有精品| 欧美丰满少妇xxxxx高潮对白| www久久精品| 亚洲视频精选在线| 美女www一区二区| 色综合久久天天| 欧美成人猛片aaaaaaa| 国产精品国产三级国产aⅴ原创 | 亚洲午夜羞羞片| 国产一区二区三区在线观看精品 | 91精品婷婷国产综合久久| 久久欧美中文字幕| 亚洲一区二区三区四区在线| 国产精品一卡二卡| 欧美日韩国产在线观看| 欧美亚州韩日在线看免费版国语版| 欧美一级xxx| 亚洲欧美国产三级| 欧美在线一二三四区| 粉嫩一区二区三区性色av| 在线播放91灌醉迷j高跟美女 | 亚洲一区二区高清| 国产又粗又猛又爽又黄91精品| 欧美性xxxxx极品少妇| 久久免费午夜影院| 日韩综合在线视频| 91在线看国产| 国产偷国产偷精品高清尤物| 亚洲成人7777| 91小视频在线免费看| 精品日本一线二线三线不卡| 亚洲国产精品一区二区久久恐怖片| 国产精品888| 欧美一区二区三区爱爱| 亚洲黄色在线视频| 国产91色综合久久免费分享| 日韩小视频在线观看专区| 欧美日韩成人综合天天影院 | 一区二区三区高清| 东方欧美亚洲色图在线| 精品三级av在线| 91精品国产福利在线观看| 5858s免费视频成人| 亚洲精品亚洲人成人网| av爱爱亚洲一区| 国产色产综合产在线视频| 美国十次了思思久久精品导航| 欧美在线观看18| 青青草国产精品97视觉盛宴| 久久精品国产77777蜜臀| 欧美日韩综合一区| 亚洲综合一二区| 色诱亚洲精品久久久久久| 日韩一区在线看| 972aa.com艺术欧美| 国产精品天天看| 国产成人啪免费观看软件| 国产亚洲精品中文字幕| 国产成人综合亚洲91猫咪| 成人精品视频.| 中文一区在线播放| 成人午夜av在线| 久久夜色精品国产噜噜av| 九九在线精品视频| 欧美变态凌虐bdsm| 国产原创一区二区| 欧美国产欧美亚州国产日韩mv天天看完整| 黄色日韩网站视频| 一区二区三区中文字幕电影| 成人精品免费看| 国产精品美女久久久久久| 成人白浆超碰人人人人| 中文字幕视频一区| 欧美亚一区二区| 日韩精品一级中文字幕精品视频免费观看 | 6080yy午夜一二三区久久| 三级亚洲高清视频| 日韩你懂的在线播放| 日本欧美久久久久免费播放网| 久久不见久久见免费视频7| 精品国产免费一区二区三区香蕉| 韩国一区二区三区| 亚洲国产精品成人综合色在线婷婷 | 开心九九激情九九欧美日韩精美视频电影| 亚洲精品五月天| 91黄色免费观看| 日韩精品国产精品| 26uuu色噜噜精品一区| 国产91高潮流白浆在线麻豆| 亚洲摸摸操操av| 337p亚洲精品色噜噜噜| 国产精品亚洲一区二区三区妖精 | 免费xxxx性欧美18vr| 久久综合久久99| 色婷婷av一区二区三区之一色屋| 午夜久久久久久| 精品va天堂亚洲国产| av一区二区久久| 视频在线在亚洲| 国产日韩影视精品| 在线免费观看不卡av| 国产日韩欧美精品综合| 在线观看三级视频欧美| 蜜桃一区二区三区在线观看| 国产日产欧美精品一区二区三区| 色综合久久天天| 久久成人久久爱| 亚洲欧美色图小说| 日韩三级视频在线观看| 99久久99久久精品免费看蜜桃| 91成人免费在线| 亚洲欧美日韩国产综合在线| 制服丝袜日韩国产| 97成人超碰视| 色婷婷av一区二区三区软件| 国产精品卡一卡二| 69精品人人人人| 色综合一个色综合| 久久国产精品露脸对白| 夜夜揉揉日日人人青青一国产精品 | 精品国产区一区| 欧美性猛片xxxx免费看久爱| 国内精品免费在线观看| 一区二区在线观看免费| 欧美精品一区二区三区很污很色的 | 一区二区三区视频在线看| 日韩欧美一区二区久久婷婷| 91在线观看地址| 国产成人免费在线视频| 免费在线欧美视频| 一区二区三区精品| 久久久久久电影| 欧美一区二区在线不卡| 一本色道亚洲精品aⅴ| 国产精品资源站在线| 欧美视频在线播放| 日韩专区在线视频| 一区二区三区四区亚洲| 国产欧美日韩在线看| 日韩一区二区三区视频| 欧美这里有精品| 91女神在线视频| 国产成人精品免费| 极品少妇xxxx精品少妇偷拍| 亚洲mv在线观看| 亚洲黄色在线视频| 亚洲天堂2016| 国产精品超碰97尤物18| 国产亚洲精久久久久久| 精品国精品国产| 欧美一区二区三区四区在线观看 | 欧美老女人第四色| 一本久道久久综合中文字幕 | 狠狠色狠狠色综合日日91app| 首页欧美精品中文字幕| 亚洲mv大片欧洲mv大片精品| 亚洲一区二区高清| 亚洲影视在线播放| 亚洲国产精品嫩草影院| 亚洲精品大片www| 一二三四区精品视频| 国产91丝袜在线18| 日本网站在线观看一区二区三区|