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

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

?? list.java

?? iText可以制作中文PDF文件的JAVA源程序最新版下載
?? JAVA
字號:
/* * $Id: List.java,v 1.48 2002/07/09 10:41:34 blowagie Exp $ * $Name:  $ * * Copyright 1999, 2000, 2001, 2002 by Bruno Lowagie. * * The contents of this file are subject to the Mozilla Public License Version 1.1 * (the "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the License. * * The Original Code is 'iText, a free JAVA-PDF library'. * * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by * the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie. * All Rights Reserved. * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer * are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved. * * Contributor(s): all the names of the contributors are added in the source code * where applicable. * * Alternatively, the contents of this file may be used under the terms of the * LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the * provisions of LGPL are applicable instead of those above.  If you wish to * allow use of your version of this file only under the terms of the LGPL * License and not to allow others to use your version of this file under * the MPL, indicate your decision by deleting the provisions above and * replace them with the notice and other provisions required by the LGPL. * If you do not delete the provisions above, a recipient may use your version * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE. * * This library is free software; you can redistribute it and/or modify it * under the terms of the MPL as stated above or under the terms of the GNU * Library General Public License as published by the Free Software Foundation; * either version 2 of the License, or any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more * details. * * If you didn't download this code from the following link, you should check if * you aren't using an obsolete version: * http://www.lowagie.com/iText/ */package com.lowagie.text;import java.util.ArrayList;import java.util.Iterator;import java.util.Properties;import java.util.Set;/** * A <CODE>List</CODE> contains several <CODE>ListItem</CODE>s. * <P> * <B>Example 1:</B> * <BLOCKQUOTE><PRE> * <STRONG>List list = new List(true, 20);</STRONG> * <STRONG>list.add(new ListItem("First line"));</STRONG> * <STRONG>list.add(new ListItem("The second line is longer to see what happens once the end of the line is reached. Will it start on a new line?"));</STRONG> * <STRONG>list.add(new ListItem("Third line"));</STRONG> * </PRE></BLOCKQUOTE> * * The result of this code looks like this: *	<OL> *		<LI> *			First line *		</LI> *		<LI> *			The second line is longer to see what happens once the end of the line is reached. Will it start on a new line? *		</LI> *		<LI> *			Third line *		</LI> *	</OL> * * <B>Example 2:</B> * <BLOCKQUOTE><PRE> * <STRONG>List overview = new List(false, 10);</STRONG> * <STRONG>overview.add(new ListItem("This is an item"));</STRONG> * <STRONG>overview.add("This is another item");</STRONG> * </PRE></BLOCKQUOTE> * * The result of this code looks like this: *	<UL> *		<LI> *			This is an item *		</LI> *		<LI> *			This is another item *		</LI> *	</UL> * * @see		Element * @see		ListItem */public class List implements TextElementArray, MarkupAttributes {        // membervariables    /** This is the <CODE>ArrayList</CODE> containing the different <CODE>ListItem</CODE>s. */    private ArrayList list = new ArrayList();    /** This variable indicates if the list has to be numbered. */    private boolean numbered;    private boolean lettered;    /** This variable indicates the first number of a numbered list. */    private int first = 1;    private char firstCh = 'A';    private char lastCh  = 'Z';    /** This is the listsymbol of a list that is not numbered. */    private Chunk symbol = new Chunk("-");    /** The indentation of this list on the left side. */    private float indentationLeft = 0;    /** The indentation of this list on the right side. */    private float indentationRight = 0;    /** The indentation of the listitems. */    private int symbolIndent;/** Contains extra markupAttributes */    protected Properties markupAttributes;        // constructors    /** * Constructs a <CODE>List</CODE>. * <P> * Remark: the parameter <VAR>symbolIndent</VAR> is important for instance when * generating PDF-documents; it indicates the indentation of the listsymbol. * It is not important for HTML-documents. * * @param	numbered		a boolean * @param	symbolIndent	the indentation that has to be used for the listsymbol */        public List(boolean numbered, int symbolIndent) {        this.numbered = numbered;        this.lettered = false;        this.symbolIndent = symbolIndent;    }        public List(boolean numbered, boolean lettered, int symbolIndent ) {        this.numbered = numbered;        this.lettered = lettered;        this.symbolIndent = symbolIndent;    }            /**         * Returns a <CODE>List</CODE> that has been constructed taking in account         * the value of some <VAR>attributes</VAR>.         *         * @param	attributes		Some attributes         */        public List(Properties attributes) {        String value= (String)attributes.remove(ElementTags.LISTSYMBOL);        if (value == null) {            value = "-";        }        symbol = new Chunk(value, FontFactory.getFont(attributes));                this.numbered = false;        if ((value = (String)attributes.remove(ElementTags.NUMBERED)) != null) {            this.numbered = new Boolean(value).booleanValue();            if ( this.lettered && this.numbered )                this.lettered = false;        }        if ((value = (String)attributes.remove(ElementTags.LETTERED)) != null) {            this.lettered = new Boolean(value).booleanValue();            if ( this.numbered && this.lettered )                this.numbered = false;        }        this.symbolIndent = 0;        if ((value = (String)attributes.remove(ElementTags.SYMBOLINDENT)) != null) {            this.symbolIndent = Integer.parseInt(value);        }                if ((value = (String)attributes.remove(ElementTags.FIRST)) != null) {            char khar = value.charAt(0);            if ( Character.isLetter( khar ) ) {                setFirst( khar );            }            else {                setFirst(Integer.parseInt(value));            }        }        if ((value = (String)attributes.remove(ElementTags.INDENTATIONLEFT)) != null) {            setIndentationLeft(Float.valueOf(value + "f").floatValue());        }        if ((value = (String)attributes.remove(ElementTags.INDENTATIONRIGHT)) != null) {            setIndentationRight(Float.valueOf(value + "f").floatValue());        }        if (attributes.size() > 0) setMarkupAttributes(attributes);    }        // implementation of the Element-methods    /** * Processes the element by adding it (or the different parts) to an * <CODE>ElementListener</CODE>. * * @param	listener	an <CODE>ElementListener</CODE> * @return	<CODE>true</CODE> if the element was processed successfully */        public boolean process(ElementListener listener) {        try {            for (Iterator i = list.iterator(); i.hasNext(); ) {                listener.add((Element) i.next());            }            return true;        }        catch(DocumentException de) {            return false;        }    }    /** * Gets the type of the text element. * * @return	a type */        public int type() {        return Element.LIST;    }    /** * Gets all the chunks in this element. * * @return	an <CODE>ArrayList</CODE> */        public ArrayList getChunks() {        ArrayList tmp = new ArrayList();        for (Iterator i = list.iterator(); i.hasNext(); ) {            tmp.addAll(((Element) i.next()).getChunks());        }        return tmp;    }        // methods to set the membervariables    /** * Adds an <CODE>Object</CODE> to the <CODE>List</CODE>. * * @param	o		the object to add. */        public boolean add(Object o) {        if (o instanceof ListItem) {            ListItem item = (ListItem) o;            if (numbered || lettered) {                Chunk chunk;                if ( numbered )                    chunk = new Chunk(String.valueOf(first + list.size()), symbol.font());                else                    chunk = new Chunk(nextLetter(), symbol.font());                chunk.append(".");                item.setListSymbol(chunk);            }            else {                item.setListSymbol(symbol);            }            item.setIndentationLeft(symbolIndent);            item.setIndentationRight(0);            list.add(item);        }        else if (o instanceof List) {            List nested = (List) o;            nested.setIndentationLeft(nested.indentationLeft() + symbolIndent);            first--;            return list.add(nested);        }        else if (o instanceof String) {            return this.add(new ListItem((String) o));        }        return false;    }    /** * Sets the indentation of this paragraph on the left side. * * @param	indentation		the new indentation */        public void setIndentationLeft(float indentation) {        this.indentationLeft = indentation;    }    /** * Sets the indentation of this paragraph on the right side. * * @param	indentation		the new indentation */        public void setIndentationRight(float indentation) {        this.indentationRight = indentation;    }    /** * Sets the number that has to come first in the list. * * @param	first		a number */        public void setFirst(int first) {        this.first = first;    }        /** * Sets the Letter that has to come first in the list. * * @param	first		a letter */        public void setFirst(char first) {        this.firstCh = first;        if ( Character.isLowerCase( this.firstCh )) {            this.lastCh = 'z';        }        else {            this.lastCh = 'Z';        }    }    /** * Sets the listsymbol. * * @param	symbol		a <CODE>Chunk</CODE> */        public void setListSymbol(Chunk symbol) {        this.symbol = symbol;    }    /** * Sets the listsymbol. * <P> * This is a shortcut for <CODE>setListSymbol(Chunk symbol)</CODE>. * * @param	symbol		a <CODE>String</CODE> */        public void setListSymbol(String symbol) {        this.symbol = new Chunk(symbol);    }        // methods to retrieve information    /** * Gets all the items in the list. * * @return	an <CODE>ArrayList</CODE> containing <CODE>ListItem</CODE>s. */        public ArrayList getItems() {        return list;    }    /** * Gets the size of the list. * * @return	a <CODE>size</CODE> */        public int size() {        return list.size();    }    /** * Gets the leading of the first listitem. * * @return	a <CODE>leading</CODE> */        public float leading() {        if (list.size() < 1) {            return -1;        }        ListItem item = (ListItem) list.get(0);        return item.leading();    }    /** * Checks if the list is numbered. * * @return	<CODE>true</CODE> if the list is numbered, <CODE>false</CODE> otherwise. */        public boolean isNumbered() {        return numbered;    }    /** * Gets the symbol indentation. */        public int symbolIndent() {        return symbolIndent;    }    /** * Gets the symbol indentation. */        public Chunk symbol() {        return symbol;    }    /** * Gets the first number        . */        public int first() {        return first;    }    /** * Gets the indentation of this paragraph on the left side. * * @return	the indentation */        public float indentationLeft() {        return indentationLeft;    }    /** * Gets the indentation of this paragraph on the right side. * * @return	the indentation */        public float indentationRight() {        return indentationRight;    }    /** * Checks if a given tag corresponds with the listsymbol tag of this object. * * @param   tag     the given tag * @return  true if the tag corresponds */        public static boolean isSymbol(String tag) {        return ElementTags.LISTSYMBOL.equals(tag);    }    /** * Checks if a given tag corresponds with this object. * * @param   tag     the given tag * @return  true if the tag corresponds */        public static boolean isTag(String tag) {        return ElementTags.LIST.equals(tag);    }/** * Retrieves the next letter in the sequence * * @return  String contains the next character (A-Z or a-z) */    private String nextLetter() {         int num_in_list = list.size();         int max_ival = (lastCh + 0);         int ival = (firstCh + num_in_list);         while ( ival > max_ival ) {             ival -= 26;         }         char[] new_char = new char[1];         new_char[0] = (char) ival;         String ret = new String( new_char );         return ret;    }        /** * @see com.lowagie.text.MarkupAttributes#setMarkupAttribute(java.lang.String, java.lang.String) */    public void setMarkupAttribute(String name, String value) {        markupAttributes = (markupAttributes == null) ? new Properties() : markupAttributes;        markupAttributes.put(name, value);    }    /** * @see com.lowagie.text.MarkupAttributes#setMarkupAttributes(java.util.Properties) */    public void setMarkupAttributes(Properties markupAttributes) {        this.markupAttributes = markupAttributes;    }    /** * @see com.lowagie.text.MarkupAttributes#getMarkupAttribute(java.lang.String) */    public String getMarkupAttribute(String name) {        return (markupAttributes == null) ? null : String.valueOf(markupAttributes.get(name));    }    /** * @see com.lowagie.text.MarkupAttributes#getMarkupAttributeNames() */    public Set getMarkupAttributeNames() {        return Chunk.getKeySet(markupAttributes);    }    /** * @see com.lowagie.text.MarkupAttributes#getMarkupAttributes() */    public Properties getMarkupAttributes() {        return markupAttributes;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线播放三区| 国产一区在线观看麻豆| 日本久久一区二区| 亚洲综合视频在线观看| 欧美日韩激情一区二区| 亚洲黄色免费电影| 欧美二区三区91| 久久99最新地址| 国产精品对白交换视频| 91视频xxxx| 日韩电影在线免费看| 久久久久久免费网| 国产v日产∨综合v精品视频| 亚洲欧美一区二区久久| 欧美日韩成人综合在线一区二区 | 国产视频一区二区在线观看| 国产精品白丝av| 亚洲女同一区二区| 欧美一区二区三区四区视频| 精品无人码麻豆乱码1区2区| 国产精品每日更新| 99精品视频在线观看| 亚洲国产精品久久不卡毛片 | 欧美成人一区二区三区| 国产成人精品免费网站| 一区二区成人在线| 欧美va亚洲va| 91麻豆成人久久精品二区三区| 亚洲第一成人在线| 久久新电视剧免费观看| 色综合久久中文综合久久97| 蜜桃视频第一区免费观看| 国产精品久久久久久久午夜片| 欧美日韩免费在线视频| 成人午夜免费视频| 手机精品视频在线观看| 中文字幕高清不卡| 欧美一区三区二区| 97精品视频在线观看自产线路二| 青青草原综合久久大伊人精品| 中文文精品字幕一区二区| 欧美日韩亚洲综合在线| 成人三级在线视频| 麻豆成人91精品二区三区| 一区二区三区在线视频免费 | 欧美激情在线一区二区| 337p亚洲精品色噜噜狠狠| av在线不卡免费看| 国产精品一区二区你懂的| 午夜精品爽啪视频| 亚洲精品高清在线| 国产精品天干天干在线综合| 日韩欧美成人一区| 欧美日韩国产区一| 91精品福利视频| 波多野结衣中文一区| 国产999精品久久| 欧美午夜一区二区| 99v久久综合狠狠综合久久| 国产在线不卡一区| 免费成人在线影院| 三级影片在线观看欧美日韩一区二区 | 国产做a爰片久久毛片| 亚洲高清不卡在线| 亚洲一区二区三区在线看| 国产精品传媒在线| 欧美国产一区二区| 国产午夜亚洲精品不卡| 精品成人免费观看| 欧美精品亚洲一区二区在线播放| 在线观看一区二区精品视频| 成人听书哪个软件好| 国产成人精品免费一区二区| 国产成人精品影院| 国产不卡视频一区| 成人午夜视频福利| eeuss影院一区二区三区| av在线不卡网| 一本大道综合伊人精品热热| 色一情一乱一乱一91av| 一本色道综合亚洲| 欧美亚洲动漫精品| 欧美日韩国产天堂| 欧美一级理论性理论a| 日韩免费一区二区| 精品少妇一区二区三区| 久久综合国产精品| 国产日韩欧美一区二区三区综合| 久久久久久久久久久久久夜| 久久久电影一区二区三区| 日本一区二区三区四区| 国产精品国产成人国产三级| 亚洲男人的天堂在线观看| 亚洲第一二三四区| 久久精品久久综合| 国产成a人无v码亚洲福利| 成人黄色av电影| 在线观看日韩国产| 欧美一区二区三区视频免费| 久久奇米777| 国产精品久久三| 亚洲不卡在线观看| 国产一区欧美二区| 色悠久久久久综合欧美99| 欧美日韩国产另类不卡| 久久影院午夜片一区| 国产精品免费人成网站| 亚洲一区免费在线观看| 九九久久精品视频| 色综合中文字幕国产| 欧美日韩另类国产亚洲欧美一级| 日韩视频国产视频| 国产精品国产馆在线真实露脸| 亚洲国产成人tv| 韩国视频一区二区| 色婷婷精品大视频在线蜜桃视频| 欧美疯狂性受xxxxx喷水图片| 久久免费精品国产久精品久久久久| 最新中文字幕一区二区三区 | 99国产精品久久久久久久久久久| 欧美日韩在线直播| 国产亚洲欧美日韩俺去了| 一区二区三区四区不卡在线 | 亚洲天堂精品视频| 奇米精品一区二区三区在线观看| 国产成人免费视频网站高清观看视频| 99精品视频一区二区三区| 日韩欧美卡一卡二| 亚洲精品美腿丝袜| 国产精品一区久久久久| 欧美日本一道本| 中文字幕一区二区视频| 激情综合色综合久久综合| 欧美视频在线观看一区二区| 国产网红主播福利一区二区| 丝袜亚洲另类丝袜在线| 成人黄色在线网站| 久久男人中文字幕资源站| 婷婷亚洲久悠悠色悠在线播放 | 亚洲区小说区图片区qvod| 国产在线视频一区二区三区| 欧美人成免费网站| 一区二区三区四区视频精品免费 | 亚洲一区日韩精品中文字幕| 国产91在线看| 欧美sm极限捆绑bd| 日韩国产精品91| 欧美少妇性性性| 亚洲精品一二三| 99久久精品免费观看| 欧美国产国产综合| 国产精品亚洲专一区二区三区| 欧美一区二区三区视频在线| 亚洲小少妇裸体bbw| 色呦呦网站一区| 亚洲欧美福利一区二区| 成人av小说网| 中文字幕精品在线不卡| 国产成人免费网站| 国产亚洲综合性久久久影院| 国产一区二区精品在线观看| 欧美成人vps| 久久精品国产久精国产爱| 日韩一区二区精品| 麻豆精品国产91久久久久久| 欧美一区二区免费| 理论电影国产精品| 欧美成人a视频| 国模无码大尺度一区二区三区| 精品少妇一区二区三区日产乱码 | 欧美高清一级片在线观看| 国产福利一区二区| 国产精品情趣视频| 成人午夜视频福利| 亚洲欧洲国产专区| 在线观看91视频| 天堂影院一区二区| 日韩精品一区国产麻豆| 精油按摩中文字幕久久| 久久久蜜桃精品| 99天天综合性| 亚洲黄色免费电影| 91精品国产综合久久小美女| 麻豆国产精品777777在线| 亚洲精品一区二区在线观看| 国产精品香蕉一区二区三区| 国产精品剧情在线亚洲| 在线观看亚洲精品| 日韩不卡手机在线v区| wwwwxxxxx欧美| 99视频热这里只有精品免费| 国产69精品久久久久777| 中文字幕一区二区三中文字幕| 欧美综合一区二区| 久久精品久久精品| 中文字幕在线观看不卡视频| 欧美性色aⅴ视频一区日韩精品| 石原莉奈一区二区三区在线观看| 久久―日本道色综合久久| 91色乱码一区二区三区|