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

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

?? formatlayout.java

?? 水晶 ? ?  報表 ? ? ? 源碼
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/* ===================================================
 * JCommon : a free general purpose Java class library
 * ===================================================
 *
 * Project Info:  http://www.jfree.org/jcommon/index.html
 * Project Lead:  David Gilbert (david.gilbert@object-refinery.com);
 *
 * (C) Copyright 2000-2003, by Object Refinery Limited and Contributors.
 *
 * This library is free software; you can redistribute it and/or modify it under the terms
 * of the GNU Lesser General Public License as published by the Free Software Foundation;
 * either version 2.1 of the License, or (at your option) 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 Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License along with this
 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
 * Boston, MA 02111-1307, USA.
 *
 * -----------------
 * FormatLayout.java
 * -----------------
 * (C) Copyright 2000-2003, by Object Refinery Limited.
 *
 * Original Author:  David Gilbert (for Object Refinery Limited);
 * Contributor(s):   -;
 *
 * $Id: FormatLayout.java,v 1.3 2003/06/12 16:54:36 mungady Exp $
 *
 * Changes (from 26-Oct-2001)
 * --------------------------
 * 26-Oct-2001 : Changed package to com.jrefinery.layout.* (DG);
 * 26-Jun-2002 : Removed redundant code (DG);
 * 10-Oct-2002 : Fixed errors reported by Checkstyle (DG);
 *
 */

package org.jfree.layout;

import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.LayoutManager;
import java.io.Serializable;

/**
 * A layout manager that spaces components over six columns in seven different formats.
 *
 * @author David Gilbert
 */
public class FormatLayout implements LayoutManager, Serializable {

    /** A useful constant representing layout format 1. */
    public static final int C = 1;

    /** A useful constant representing layout format 2. */
    public static final int LC = 2;

    /** A useful constant representing layout format 3. */
    public static final int LCB = 3;

    /** A useful constant representing layout format 4. */
    public static final int LCLC = 4;

    /** A useful constant representing layout format 5. */
    public static final int LCLCB = 5;

    /** A useful constant representing layout format 6. */
    public static final int LCBLC = 6;

    /** A useful constant representing layout format 7. */
    public static final int LCBLCB = 7;

    /** The layout format for each row. */
    private int[] rowFormats;

    /** The gap between the rows. */
    private int rowGap;

    /** The gaps between the columns (gap[0] is the gap following column zero). */
    private int[] columnGaps;

    /** Working array for recording the height of each row. */
    private int[] rowHeights;

    /** The total height of the layout. */
    private int totalHeight;

    /** Working array for recording the width of each column; */
    private int[] columnWidths;

    /** The total width of the layout. */
    private int totalWidth;

    /** Combined width of columns 1 and 2. */
    private int columns1and2Width;

    /** Combined width of columns 4 and 5. */
    private int columns4and5Width;

    /** Combined width of columns 1 to 4. */
    private int columns1to4Width;

    /** Combined width of columns 1 to 5. */
    private int columns1to5Width;

    /** Combined width of columns 0 to 5. */
    private int columns0to5Width;

    /**
     * Constructs a new layout manager that can be used to create input forms.  The layout manager
     * works by arranging components in rows using six columns (some components
     * will use more than one column).
     * <P>
     * Any component can be added, but I think of them in terms of Labels,
     * Components, and Buttons.
     * The formats available are:  C, LC, LCB, LCLC, LCLCB, LCBLC or LCBLCB.
     * <table>
     * <tr>
     * <td>C</td>
     * <td>1 component in this row (spread across all six columns).</td>
     * </tr>
     * <tr>
     * <td>LC</td>
     * <td>2 components, a label in the 1st column, and a component using the
     *      remaining 5 columns).</td>
     * </tr>
     * <tr>
     * <td>LCB</td>
     * <td>3 components, a label in the 1st column, a component spread across
     *      the next 4, and a button in the last column.</td>
     * </tr>
     * <tr>
     * <td>LCLC</td>
     * <td>4 components, a label in column 1, a component in 2-3, a label in
     *       4 and a component in 5-6.</td>
     * </tr>
     * <tr>
     * <td>LCLCB</td>
     * <td>5 components, a label in column 1, a component in 2-3, a label
     *      in 4, a component in 5 and a button in 6.</td>
     * </tr>
     * <tr>
     * <td>LCBLC</td>
     * <td>5 components, a label in column 1, a component in 2, a button in 3,
     *  a label in 4, a component in 5-6.</td>
     * </tr>
     * <tr>
     * <td>LCBLCB</td>
     * <td>6 components, one in each column.</td>
     * </tr>
     * </table>
     * <P>
     * Columns 1 and 4 expand to accommodate the widest label, and 3 and 6 to
     * accommodate the widest button.
     * <P>
     * Each row will contain the number of components indicated by the format.  Be sure to
     * specify enough row formats to cover all the components you add to the
     * layout.
     *
     * @param rowCount  the number of rows.
     * @param rowFormats  the row formats.
     */
    public FormatLayout(int rowCount, int[] rowFormats) {

        this.rowFormats = rowFormats;
        rowGap = 2;
        columnGaps = new int[5];
        columnGaps[0] = 10;
        columnGaps[1] = 5;
        columnGaps[2] = 5;
        columnGaps[3] = 10;
        columnGaps[4] = 5;

        // working structures...
        rowHeights = new int[rowCount];
        columnWidths = new int[6];
    }

    /**
     * Returns the preferred size of the component using this layout manager.
     *
     * @param parent  the parent.
     *
     * @return the preferred size of the component.
     */
    public Dimension preferredLayoutSize(Container parent) {

        Component c0, c1, c2, c3, c4, c5;

        synchronized (parent.getTreeLock()) {
            Insets insets = parent.getInsets();
            int componentIndex = 0;
            int rowCount = rowHeights.length;
            for (int i = 0; i < columnWidths.length; i++) {
                columnWidths[i] = 0;
            }
            columns1and2Width = 0;
            columns4and5Width = 0;
            columns1to4Width = 0;
            columns1to5Width = 0;
            columns0to5Width = 0;

            totalHeight = 0;
            for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) {
            int format = rowFormats[rowIndex % rowFormats.length];
                switch (format) {
                    case FormatLayout.C:
                        c0 = parent.getComponent(componentIndex);
                        updateC(rowIndex, c0.getPreferredSize());
                        componentIndex = componentIndex + 1;
                        break;
                    case FormatLayout.LC:
                        c0 = parent.getComponent(componentIndex);
                        c1 = parent.getComponent(componentIndex + 1);
                        updateLC(rowIndex, c0.getPreferredSize(), c1.getPreferredSize());
                        componentIndex = componentIndex + 2;
                        break;
                    case FormatLayout.LCB:
                        c0 = parent.getComponent(componentIndex);
                        c1 = parent.getComponent(componentIndex + 1);
                        c2 = parent.getComponent(componentIndex + 2);
                        updateLCB(rowIndex,
                                  c0.getPreferredSize(),
                                  c1.getPreferredSize(),
                                  c2.getPreferredSize());
                        componentIndex = componentIndex + 3;
                        break;
                    case FormatLayout.LCLC:
                        c0 = parent.getComponent(componentIndex);
                        c1 = parent.getComponent(componentIndex + 1);
                        c2 = parent.getComponent(componentIndex + 2);
                        c3 = parent.getComponent(componentIndex + 3);
                        updateLCLC(rowIndex,
                                   c0.getPreferredSize(),
                                   c1.getPreferredSize(),
                                   c2.getPreferredSize(),
                                   c3.getPreferredSize());
                        componentIndex = componentIndex + 4;
                        break;
                    case FormatLayout.LCBLC:
                        c0 = parent.getComponent(componentIndex);
                        c1 = parent.getComponent(componentIndex + 1);
                        c2 = parent.getComponent(componentIndex + 2);
                        c3 = parent.getComponent(componentIndex + 3);
                        c4 = parent.getComponent(componentIndex + 4);
                        updateLCBLC(rowIndex,
                                    c0.getPreferredSize(),
                                    c1.getPreferredSize(),
                                    c2.getPreferredSize(),
                                    c3.getPreferredSize(),
                                    c4.getPreferredSize());
                        componentIndex = componentIndex + 5;
                        break;
                    case FormatLayout.LCLCB:
                        c0 = parent.getComponent(componentIndex);
                        c1 = parent.getComponent(componentIndex + 1);
                        c2 = parent.getComponent(componentIndex + 2);
                        c3 = parent.getComponent(componentIndex + 3);
                        c4 = parent.getComponent(componentIndex + 4);
                        updateLCLCB(rowIndex,
                                    c0.getPreferredSize(),
                                    c1.getPreferredSize(),
                                    c2.getPreferredSize(),
                                    c3.getPreferredSize(),
                                    c4.getPreferredSize());
                        componentIndex = componentIndex + 5;
                        break;
                    case FormatLayout.LCBLCB:
                        c0 = parent.getComponent(componentIndex);
                        c1 = parent.getComponent(componentIndex + 1);
                        c2 = parent.getComponent(componentIndex + 2);
                        c3 = parent.getComponent(componentIndex + 3);
                        c4 = parent.getComponent(componentIndex + 4);
                        c5 = parent.getComponent(componentIndex + 5);
                        updateLCBLCB(rowIndex,
                                     c0.getPreferredSize(),
                                     c1.getPreferredSize(),
                                     c2.getPreferredSize(),
                                     c3.getPreferredSize(),
                                     c4.getPreferredSize(),
                                     c5.getPreferredSize());
                        componentIndex = componentIndex + 6;
                        break;
                }
            }
            complete();
            return new Dimension(totalWidth + insets.left + insets.right,
                                 totalHeight + (rowCount - 1) * rowGap
                                 + insets.top + insets.bottom);
        }
    }

    /**
     * Returns the minimum size of the component using this layout manager.
     *
     * @param parent  the parent.
     *
     * @return the minimum size of the component
     */
    public Dimension minimumLayoutSize(Container parent) {

        Component c0, c1, c2, c3, c4, c5;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线91免费看| 欧美精品日韩一本| 五月天精品一区二区三区| 精品久久久三级丝袜| 色网综合在线观看| 韩国女主播一区二区三区| 亚洲尤物在线视频观看| 久久精品在这里| 制服丝袜日韩国产| 色悠悠久久综合| 国产精品自拍一区| 麻豆久久一区二区| 亚洲一线二线三线视频| 中日韩av电影| 国产色产综合色产在线视频 | 欧美区在线观看| 成人精品视频一区二区三区| 奇米色一区二区三区四区| 一区二区三区四区不卡在线 | 欧美一区二区三区四区高清| 国产欧美精品一区二区色综合朱莉| 欧美日韩国产a| 一本一道久久a久久精品综合蜜臀| 国产精品白丝jk白祙喷水网站| 日本不卡123| 亚洲成人免费在线| 亚洲第一成人在线| 亚洲一区二区黄色| 一区二区成人在线视频| 亚洲婷婷国产精品电影人久久| 中文字幕免费观看一区| 久久久久亚洲蜜桃| 久久久精品综合| 2020国产精品| 久久精品人人做人人综合 | 一级精品视频在线观看宜春院| 久久久777精品电影网影网 | 91精品国产麻豆国产自产在线| 日本韩国欧美一区二区三区| 91麻豆国产香蕉久久精品| 99久久免费视频.com| 99精品视频在线观看| 99久久精品免费精品国产| 97久久精品人人做人人爽 | 久久免费美女视频| 精品国产一区久久| 久久久夜色精品亚洲| 337p日本欧洲亚洲大胆色噜噜| 精品国产麻豆免费人成网站| 精品欧美一区二区在线观看| 精品噜噜噜噜久久久久久久久试看 | 国产婷婷一区二区| 中文字幕欧美区| 亚洲精品老司机| 亚洲一区二区三区美女| 天天综合色天天| 经典一区二区三区| 懂色av中文字幕一区二区三区| caoporn国产一区二区| 色诱亚洲精品久久久久久| 欧美三级韩国三级日本三斤| 欧美日韩国产一级片| 精品国内片67194| 中文字幕不卡的av| 一个色综合av| 国产综合色视频| 不卡视频一二三| 欧美视频自拍偷拍| www国产精品av| 亚洲色图视频免费播放| 视频一区二区不卡| 国产精品一卡二卡| 欧美探花视频资源| 久久综合色8888| 亚洲欧美另类图片小说| 日韩国产精品大片| 成人爱爱电影网址| 欧美日本在线观看| 国产调教视频一区| 亚洲va欧美va人人爽| 国产精品综合二区| 欧美日韩成人一区二区| 久久激情综合网| 91影院在线免费观看| 538在线一区二区精品国产| 久久精品免视看| 亚洲国产精品久久一线不卡| 韩国女主播一区二区三区| 一本色道久久综合亚洲精品按摩| 日韩女优制服丝袜电影| 亚洲欧美电影院| 久久狠狠亚洲综合| 欧美性做爰猛烈叫床潮| 久久久精品欧美丰满| 天天射综合影视| 99久久99久久精品国产片果冻| 欧美一级一级性生活免费录像| 亚洲私人影院在线观看| 精品一二线国产| 制服丝袜成人动漫| 亚洲免费观看高清完整版在线 | 国产91综合一区在线观看| 欧美日韩色综合| 亚洲色图视频网| 岛国av在线一区| 久久亚区不卡日本| 免费成人在线视频观看| 欧美色大人视频| 亚洲精品自拍动漫在线| 国产成人午夜精品5599 | 亚洲国产精品99久久久久久久久 | 午夜激情一区二区| 色综合网色综合| 中文字幕精品一区| 国产一区二区精品久久99| 欧美一二区视频| 偷拍日韩校园综合在线| 91久久精品一区二区二区| 国产精品久久久久影院老司 | 国产成人亚洲综合a∨婷婷| 日韩视频在线你懂得| 亚洲超碰97人人做人人爱| 日本韩国欧美三级| 亚洲免费av高清| 色婷婷综合久久久久中文一区二区| 欧美激情综合五月色丁香 | 欧美精品aⅴ在线视频| 亚洲色大成网站www久久九九| 国产美女一区二区三区| 精品日韩99亚洲| 久久aⅴ国产欧美74aaa| 欧美一区二区三区思思人| 日韩高清在线不卡| 欧美一级黄色片| 日本视频一区二区三区| 亚洲.国产.中文慕字在线| 在线观看三级视频欧美| 亚洲激情综合网| 91久久精品一区二区| 亚洲综合激情网| 欧美中文字幕一区二区三区| 一区二区三区在线高清| 在线观看视频91| 天天操天天干天天综合网| 欧美另类高清zo欧美| 五月天久久比比资源色| 日韩美女主播在线视频一区二区三区| 美女精品自拍一二三四| 久久婷婷色综合| 国产成人啪免费观看软件| 国产精品久久三| 在线观看日产精品| 日韩和欧美一区二区| 欧美mv和日韩mv国产网站| 国产91在线观看丝袜| 亚洲精品亚洲人成人网| 欧美精选一区二区| 精品一区二区三区免费视频| 国产精品午夜在线| 欧美手机在线视频| 久久99深爱久久99精品| 欧美韩国日本一区| 在线视频国内一区二区| 免费观看成人av| 中文字幕免费观看一区| 欧美中文字幕久久| 久久精品国产99国产| 国产精品久久久一本精品| 精品视频在线免费看| 精品制服美女丁香| 国产精品丝袜久久久久久app| 在线影院国内精品| 加勒比av一区二区| 亚洲欧美电影院| 日韩三级视频在线观看| 不卡的av网站| 午夜伦欧美伦电影理论片| 国产色产综合色产在线视频| 欧美亚一区二区| 久久www免费人成看片高清| 亚洲日穴在线视频| 精品国内二区三区| 在线免费观看日韩欧美| 国产一区二区主播在线| 亚洲一二三级电影| 国产女主播在线一区二区| 欧美三级午夜理伦三级中视频| 久国产精品韩国三级视频| 亚洲视频精选在线| 欧美成人一区二区| 91久久国产最好的精华液| 国产一区中文字幕| 亚洲mv大片欧洲mv大片精品| 日本一区二区不卡视频| 日韩一级欧美一级| 91电影在线观看| 99这里只有久久精品视频| 麻豆91免费观看| 亚洲成人免费视| 亚洲三级在线免费观看|