⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 itexttotalwrapper.java

📁 分页标签
💻 JAVA
字号:
/** * Licensed under the Artistic License; you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * *      http://displaytag.sourceforge.net/license.html * * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */package org.displaytag.sample.decorators;import com.lowagie.text.BadElementException;import com.lowagie.text.Cell;import com.lowagie.text.Chunk;import com.lowagie.text.Element;import com.lowagie.text.Font;import com.lowagie.text.FontFactory;import com.lowagie.text.Rectangle;import com.lowagie.text.Table;/** * Same idea implemented in ItextTableWriter applied to decorators. * @see org.displaytag.render.ItextTableWriter * @author Jorge L. Barroso * @version $Revision$ ($Author$) */public class ItextTotalWrapper extends TotalWrapperTemplate    implements    org.displaytag.render.ItextTableWriter.ItextDecorator{    /**     * The iText table in which the totals are rendered.     */    private Table table;    /**     * The iText font used to render the totals.     */    private Font font;    /**     * Set the table required to render the totals line.     * @param table The table required to render the totals line.     * @see org.displaytag.decorator.itext.DecoratesItext#setTable(com.lowagie.text.Table)     */    public void setTable(Table table)    {        this.table = table;    }    /**     * Set the font required to render the totals line.     * @param font The font required to render the totals line.     * @see org.displaytag.decorator.itext.DecoratesItext#setFont(com.lowagie.text.Font)     */    public void setFont(Font font)    {        this.font = font;    }    /**     * Writes cell border at bottom of cell.     */    public String startRow()    {        this.table.setDefaultCellBorder(Rectangle.BOTTOM);        return null;    }    /**     * Writes the city total line.     * @param city City name.     * @param total City total.     */    protected void writeCityTotal(String city, double total)    {        this.writeTotal(city, total);    }    /**     * Writes the table grand total     * @param total Table grand total     */    protected void writeGrandTotal(double total)    {        this.writeTotal("Grand", total);    }    /**     * Writes a total line.     * @param value Total message.     * @param total Total number.     */    private void writeTotal(String value, double total)    {        if (assertRequiredState())        {            try            {                this.font = FontFactory.getFont(this.font.getFamilyname(), this.font.size(), Font.BOLD, this.font                    .color());                table.addCell(this.getCell(""));                table.addCell(this.getCell(""));                table.addCell(this.getCell("-------------"));                table.addCell(this.getCell(""));                // new row                table.addCell(this.getCell(""));                table.addCell(this.getCell(value + " Total:"));                table.addCell(this.getCell(total + ""));                table.addCell(this.getCell(""));            }            catch (BadElementException e)            {            }        }    }    /**     * Obtain a cell with the given value.     * @param value Value to display in the cell.     * @return A cell with the given value.     * @throws BadElementException if an error occurs while generating the cell.     */    private Cell getCell(String value) throws BadElementException    {        Cell cell = new Cell(new Chunk(value, this.font));        cell.setLeading(8);        cell.setHorizontalAlignment(Element.ALIGN_LEFT);        return cell;    }    /**     * Asserts that the table and font properties needed have been set by the client.     * @return true if the required properties are not null; false otherwise.     */    private boolean assertRequiredState()    {        return this.table != null && this.font != null;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -