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

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

?? cell.java

?? iText可以制作中文PDF文件的JAVA源程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * $Id: Cell.java,v 1.69 2002/11/19 08:33:32 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.awt.Color;import java.util.ArrayList;import java.util.Iterator;import java.util.Properties;import com.lowagie.text.markup.*;/** * A <CODE>Cell</CODE> is a <CODE>Rectangle</CODE> containing other * <CODE>Element</CODE>s. * <P> * A <CODE>Cell</CODE> must be added to a <CODE>Table</CODE>. * The <CODE>Table</CODE> will place the <CODE>Cell</CODE> in * a <CODE>Row</CODE>. * <P> * Example: * <BLOCKQUOTE><PRE> * Table table = new Table(3); * table.setBorderWidth(1); * table.setBorderColor(new Color(0, 0, 255)); * table.setCellpadding(5); * table.setCellspacing(5); * <STRONG>Cell cell = new Cell("header");</STRONG> * <STRONG>cell.setHeader(true);</STRONG> * <STRONG>cell.setColspan(3);</STRONG> * table.addCell(cell); * <STRONG>cell = new Cell("example cell with colspan 1 and rowspan 2");</STRONG> * <STRONG>cell.setRowspan(2);</STRONG> * <STRONG>cell.setBorderColor(new Color(255, 0, 0));</STRONG> * table.addCell(cell); * table.addCell("1.1"); * table.addCell("2.1"); * table.addCell("1.2"); * table.addCell("2.2"); * </PRE></BLOCKQUOTE> * * @see		Rectangle * @see		Element * @see		Table * @see		Row */public class Cell extends Rectangle implements TextElementArray {	// static final membervariable/** This constant can be used as empty cell. */	public static final Cell EMPTY_CELL = new Cell(true);/** This constant can be used as empty cell. */	public static final Cell DUMMY_CELL = new Cell(true);	static {		DUMMY_CELL.setColspan(3);		DUMMY_CELL.setBorder(NO_BORDER);	}	// membervariables/** This is the <CODE>ArrayList</CODE> of <CODE>Element</CODE>s. */	protected ArrayList arrayList = null;/** This is the horizontal alignment. */	protected int horizontalAlignment = Element.ALIGN_UNDEFINED;/** This is the vertical alignment. */	protected int verticalAlignment = Element.ALIGN_UNDEFINED;/** This is the vertical alignment. */	protected String width;/** This is the colspan. */	protected int colspan = 1;/** This is the rowspan. */	protected int rowspan = 1;/** This is the leading. */	float leading = Float.NaN;/** Is this <CODE>Cell</CODE> a header? */	protected boolean header;/** Will the element have to be wrapped? */	protected boolean noWrap;	// constructors/** * Constructs an empty <CODE>Cell</CODE>. */	public Cell() {		// creates a Rectangle with BY DEFAULT a border of 0.5		super(0, 0, 0, 0);		setBorder(UNDEFINED);		setBorderWidth(0.5f);		// initializes the arraylist and adds an element		arrayList = new ArrayList();	}/** * Constructs an empty <CODE>Cell</CODE> (for internal use only). * * @param   dummy   a dummy value */	public Cell(boolean dummy) {		this();		arrayList.add(new Paragraph(0));	}/** * Constructs a <CODE>Cell</CODE> with a certain content. * <P> * The <CODE>String</CODE> will be converted into a <CODE>Paragraph</CODE>. * * @param	content		a <CODE>String</CODE> */	public Cell(String content) {		// creates a Rectangle with BY DEFAULT a border of 0.5		super(0, 0, 0, 0);		setBorder(UNDEFINED);		setBorderWidth(0.5f);		// initializes the arraylist and adds an element		arrayList = new ArrayList();		try {			addElement(new Paragraph(content));		}		catch(BadElementException bee) {		}	}/** * Constructs a <CODE>Cell</CODE> with a certain <CODE>Element</CODE>. * <P> * if the element is a <CODE>ListItem</CODE>, <CODE>Row</CODE> or * <CODE>Cell</CODE>, an exception will be thrown. * * @param	element		the element * @throws	BadElementException when the creator was called with a <CODE>ListItem</CODE>, <CODE>Row</CODE> or <CODE>Cell</CODE> */	public Cell(Element element) throws BadElementException {		// creates a Rectangle with BY DEFAULT a border of 0.5		super(0, 0, 0, 0);		setBorder(UNDEFINED);		setBorderWidth(0.5f);		try {			Phrase p = (Phrase)element;			leading = p.leading();		}		catch(Exception e) {			// empty on purpose		}		// initializes the arraylist and adds an element		arrayList = new ArrayList();		addElement(element);	}/** * Returns a <CODE>Cell</CODE> that has been constructed taking in account * the value of some <VAR>attributes</VAR>. * * @param	attributes		Some attributes */	public Cell(Properties attributes) {		this();		String value;		if ((value = (String)attributes.remove(ElementTags.HORIZONTALALIGN)) != null) {			setHorizontalAlignment(value);		}		if ((value = (String)attributes.remove(ElementTags.VERTICALALIGN)) != null) {			setVerticalAlignment(value);		}		if ((value = (String)attributes.remove(ElementTags.WIDTH)) != null) {			setWidth(value);		}		if ((value = (String)attributes.remove(ElementTags.COLSPAN)) != null) {			setColspan(Integer.parseInt(value));		}		if ((value = (String)attributes.remove(ElementTags.ROWSPAN)) != null) {			setRowspan(Integer.parseInt(value));		}		if ((value = (String)attributes.remove(ElementTags.LEADING)) != null) {			setLeading(Float.valueOf(value + "f").floatValue());		}		if ((value = (String)attributes.remove(ElementTags.HEADER)) != null) {			setHeader(new Boolean(value).booleanValue());		}		if ((value = (String)attributes.remove(ElementTags.NOWRAP)) != null) {			setNoWrap(new Boolean(value).booleanValue());		}		if ((value = (String)attributes.remove(ElementTags.BORDERWIDTH)) != null) {			setBorderWidth(Float.valueOf(value + "f").floatValue());		}		int border = 0;		if ((value = (String)attributes.remove(ElementTags.LEFT)) != null) {			if (new Boolean(value).booleanValue()) border |= Rectangle.LEFT;		}		if ((value = (String)attributes.remove(ElementTags.RIGHT)) != null) {			if (new Boolean(value).booleanValue()) border |= Rectangle.RIGHT;		}		if ((value = (String)attributes.remove(ElementTags.TOP)) != null) {			if (new Boolean(value).booleanValue()) border |= Rectangle.TOP;		}		if ((value = (String)attributes.remove(ElementTags.BOTTOM)) != null) {			if (new Boolean(value).booleanValue()) border |= Rectangle.BOTTOM;		}		setBorder(border);		String r = (String)attributes.remove(ElementTags.RED);		String g = (String)attributes.remove(ElementTags.GREEN);		String b = (String)attributes.remove(ElementTags.BLUE);		if (r != null || g != null || b != null) {			int red = 0;			int green = 0;			int blue = 0;			if (r != null) red = Integer.parseInt(r);			if (g != null) green = Integer.parseInt(g);			if (b != null) blue = Integer.parseInt(b);			setBorderColor(new Color(red, green, blue));		}		else if ((value = (String)attributes.remove(ElementTags.BORDERCOLOR)) != null) {			setBorderColor(MarkupParser.decodeColor(value));		}		r = (String)attributes.remove(ElementTags.BGRED);		g = (String)attributes.remove(ElementTags.BGGREEN);		b = (String)attributes.remove(ElementTags.BGBLUE);		if (r != null || g != null || b != null) {			int red = 0;			int green = 0;			int blue = 0;			if (r != null) red = Integer.parseInt(r);			if (g != null) green = Integer.parseInt(g);			if (b != null) blue = Integer.parseInt(b);			setBackgroundColor(new Color(red, green, blue));		}		else if ((value = (String)attributes.remove(ElementTags.BACKGROUNDCOLOR)) != null) {			setBackgroundColor(MarkupParser.decodeColor(value));		}		if ((value = (String)attributes.remove(ElementTags.GRAYFILL)) != null) {			setGrayFill(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 {			return listener.add(this);		}		catch(DocumentException de) {			return false;		}	}/** * Gets the type of the text element. * * @return	a type */	public int type() {		return Element.CELL;	}/** * Gets all the chunks in this element. * * @return	an <CODE>ArrayList</CODE> */	public ArrayList getChunks() {		ArrayList tmp = new ArrayList();		for (Iterator i = arrayList.iterator(); i.hasNext(); ) {			tmp.addAll(((Element) i.next()).getChunks());		}		return tmp;	}	// methods to set the membervariables/** * Adds an element to this <CODE>Cell</CODE>. * <P> * Remark: you can't add <CODE>ListItem</CODE>s, <CODE>Row</CODE>s, <CODE>Cell</CODE>s, * <CODE>JPEG</CODE>s, <CODE>GIF</CODE>s or <CODE>PNG</CODE>s to a <CODE>Cell</CODE>. * * @param element The <CODE>Element</CODE> to add * @throws BadElementException if the method was called with a <CODE>ListItem</CODE>, <CODE>Row</CODE> or <CODE>Cell</CODE> */	public void addElement(Element element) throws BadElementException {		if (isTable()) {			Table table = (Table) arrayList.get(0);			Cell tmp = new Cell(element);			tmp.setBorder(NO_BORDER);			tmp.setColspan(table.columns());			table.addCell(tmp);			return;		}		switch(element.type()) {			case Element.LISTITEM:			case Element.ROW:			case Element.CELL:				throw new BadElementException("You can't add listitems, rows or cells to a cell.");			case Element.JPEG:			case Element.IMGRAW:			case Element.IMGTEMPLATE:			case Element.GIF:			case Element.PNG:				arrayList.add(element);				break;			case Element.LIST:				if (Float.isNaN(leading)) {					leading = ((List) element).leading();				}				if (((List) element).size() == 0) return;				arrayList.add(element);				return;			case Element.ANCHOR:			case Element.PARAGRAPH:			case Element.PHRASE:				if (Float.isNaN(leading)) {					leading = ((Phrase) element).leading();				}				if (((Phrase) element).isEmpty()) return;				arrayList.add(element);				return;			case Element.CHUNK:				if (((Chunk) element).isEmpty()) return;				arrayList.add(element);				return;			case Element.TABLE:				Table table = new Table(3);				float[] widths = new float[3];				widths[1] = ((Table)element).widthPercentage();				switch(((Table)element).alignment()) {					case Element.ALIGN_LEFT:						widths[0] = 0f;						widths[2] = 100f - widths[1];						break;					case Element.ALIGN_CENTER:						widths[0] = (100f - widths[1]) / 2f;						widths[2] = widths[0];						break;					case Element.ALIGN_RIGHT:						widths[0] = 100f - widths[1];						widths[2] = 0f;				}				table.setWidths(widths);				Cell tmp;				if (arrayList.size() == 0) {					table.addCell(DUMMY_CELL);				}				else {					tmp = new Cell();					tmp.setBorder(NO_BORDER);					tmp.setColspan(3);					for (Iterator i = arrayList.iterator(); i.hasNext(); ) {						tmp.add((Element) i.next());					}					table.addCell(tmp);				}				tmp = new Cell();				tmp.setBorder(NO_BORDER);				table.addCell(tmp);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷av一区二区| 国产欧美日韩在线视频| 久久亚区不卡日本| 亚洲一区二区五区| 国产不卡视频在线播放| 欧美喷潮久久久xxxxx| 国产精品沙发午睡系列990531| 亚洲aaa精品| 日本韩国欧美在线| 国产午夜一区二区三区| 欧美aa在线视频| 欧美唯美清纯偷拍| 亚洲欧美日韩在线播放| 国产不卡视频在线观看| 欧美videos中文字幕| 亚洲午夜激情av| 97久久精品人人做人人爽50路| 自拍偷在线精品自拍偷无码专区| 秋霞电影网一区二区| 日本电影亚洲天堂一区| 国产精品美女久久久久久久久| 美女任你摸久久| 69久久夜色精品国产69蝌蚪网| 一区二区三区在线观看欧美| 不卡一区在线观看| 国产肉丝袜一区二区| 激情综合色综合久久| 日韩欧美中文字幕制服| 日韩电影网1区2区| 91精品国产免费久久综合| 亚洲一区二区三区小说| 色婷婷av一区二区三区软件| 亚洲色图.com| 色综合天天狠狠| 尤物视频一区二区| 欧美中文字幕亚洲一区二区va在线 | 精品区一区二区| 蜜臀va亚洲va欧美va天堂| 91精品国产综合久久精品图片 | 欧美日韩国产影片| 亚洲成人综合在线| 欧美一区二区视频网站| 三级欧美韩日大片在线看| 欧美日韩国产一级二级| 午夜影院久久久| 91精品久久久久久久91蜜桃| 精品午夜一区二区三区在线观看| 欧美一级免费观看| 国产最新精品免费| 亚洲欧洲日产国产综合网| 91丨porny丨户外露出| 一区二区三区在线视频免费| 欧美日韩免费一区二区三区| 视频一区国产视频| 久久色中文字幕| 成人激情免费电影网址| 亚洲精品免费看| 欧美一区二区三区喷汁尤物| 国产在线播放一区三区四| 国产精品天干天干在观线| 在线免费精品视频| 蜜臀a∨国产成人精品| 国产精品三级av| 欧美怡红院视频| 国精产品一区一区三区mba桃花| 国产精品久久免费看| 欧美午夜视频网站| 国产一区二区成人久久免费影院 | 久久久精品国产99久久精品芒果| 国产精品18久久久久久久久久久久| 欧美激情综合网| 欧美日韩一区在线| 狠狠色丁香婷综合久久| 日韩伦理免费电影| 精品国产一区a| 91蜜桃免费观看视频| 久久99日本精品| 日韩美女久久久| 2021中文字幕一区亚洲| 色成年激情久久综合| 国产伦精品一区二区三区在线观看| 中文字幕佐山爱一区二区免费| 欧美一级二级在线观看| 一本色道亚洲精品aⅴ| 国产精品自在欧美一区| 亚洲国产一区二区a毛片| 欧美激情在线一区二区三区| 欧美日韩日日夜夜| 色婷婷久久综合| 粉嫩久久99精品久久久久久夜| 日本欧美肥老太交大片| 亚洲欧美日韩精品久久久久| 26uuu色噜噜精品一区二区| 欧美日韩三级一区二区| 日本久久电影网| 成人手机在线视频| 国产一区二区美女| 精品一区二区三区影院在线午夜| 亚洲欧美日韩中文字幕一区二区三区 | 国产一区二区三区综合 | 一区二区三区**美女毛片| 久久久国产一区二区三区四区小说 | 色欲综合视频天天天| 国产成a人亚洲| 国产一区二三区| 蜜臀精品久久久久久蜜臀 | 夜夜精品浪潮av一区二区三区| 久久久国产精品麻豆| 精品国产乱码91久久久久久网站| 在线电影一区二区三区| 欧美日韩在线精品一区二区三区激情 | 国产欧美1区2区3区| 久久久亚洲国产美女国产盗摄| 日韩三区在线观看| 欧美一激情一区二区三区| 欧美猛男gaygay网站| 欧美另类变人与禽xxxxx| 欧美性三三影院| 欧美日韩一区二区三区视频| 欧美中文一区二区三区| 欧美在线免费视屏| 欧美精三区欧美精三区| 717成人午夜免费福利电影| 欧美视频一区二区三区| 欧美日韩成人一区| 555夜色666亚洲国产免| 日韩欧美亚洲国产另类 | 日韩理论片中文av| 亚洲综合区在线| 日韩高清不卡一区二区| 日韩av午夜在线观看| 国产真实乱偷精品视频免| 激情小说欧美图片| 成人高清视频在线| 在线观看免费成人| 91精品国产综合久久精品图片| 精品入口麻豆88视频| 中文字幕高清不卡| 樱花草国产18久久久久| 日韩二区三区四区| 国产精品一区二区在线播放| 懂色av中文一区二区三区| 色一情一乱一乱一91av| 91麻豆精品国产综合久久久久久| 欧美一区二区三区视频| 欧美经典三级视频一区二区三区| 亚洲色图第一区| 日韩国产精品大片| 国产成人精品一区二区三区四区 | 成人app在线| 精品1区2区3区| 国产亚洲欧美中文| 亚洲综合在线视频| 精品一区二区三区久久久| 波多野洁衣一区| 91精品国产高清一区二区三区| 久久久久久综合| 亚洲一区二区在线免费观看视频| 精品一区二区免费看| 94色蜜桃网一区二区三区| 日韩一区二区精品| 亚洲日本一区二区三区| 久久成人综合网| 日本精品视频一区二区三区| 日韩三级伦理片妻子的秘密按摩| 亚洲人精品午夜| 国内久久精品视频| 欧美高清精品3d| 国产精品沙发午睡系列990531| 美女性感视频久久| 欧美调教femdomvk| 中文字幕一区二区三区四区| 久久综合综合久久综合| 欧洲国产伦久久久久久久| 国产人成亚洲第一网站在线播放| 亚洲图片自拍偷拍| av激情亚洲男人天堂| 久久久99免费| 美女脱光内衣内裤视频久久网站 | 欧美草草影院在线视频| 亚洲欧美日韩人成在线播放| 国产成人精品一区二区三区四区 | 91久久人澡人人添人人爽欧美| 久久久青草青青国产亚洲免观| 日韩精品一卡二卡三卡四卡无卡| 不卡视频一二三| 久久女同互慰一区二区三区| 午夜影视日本亚洲欧洲精品| 91国模大尺度私拍在线视频| 欧美国产一区二区| 国产乱码精品1区2区3区| 91精品国产色综合久久ai换脸| 亚洲精品视频免费观看| 波波电影院一区二区三区| 欧美激情一区二区| 不卡一区二区中文字幕| 欧美国产欧美亚州国产日韩mv天天看完整 | 欧美日韩黄色一区二区| 亚洲欧美偷拍另类a∨色屁股| av综合在线播放|