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

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

?? timeseriestablemodel.java

?? jfreechart1.0.1 jsp繪制圖表的開發包
?? JAVA
字號:
/* ===========================================================
 * JFreeChart : a free chart library for the Java(tm) platform
 * ===========================================================
 *
 * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
 *
 * Project Info:  http://www.jfree.org/jfreechart/index.html
 *
 * 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
 * USA.  
 *
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
 * in the United States and other countries.]
 *
 * -------------------------
 * TimeSeriesTableModel.java
 * -------------------------
 * (C) Copyright 2001-2005, by Object Refinery Limited.
 *
 * Original Author:  David Gilbert (for Object Refinery Limited);
 * Contributor(s):   -;
 *
 * $Id: TimeSeriesTableModel.java,v 1.3.2.1 2005/10/25 21:35:24 mungady Exp $
 *
 * Changes
 * -------
 * 14-Nov-2001 : Version 1 (DG);
 * 05-Apr-2002 : Removed redundant first column (DG);
 * 24-Jun-2002 : Removed unnecessary local variable (DG);
 * 07-Oct-2002 : Fixed errors reported by Checkstyle (DG);
 *
 */

package org.jfree.data.time;

import javax.swing.table.AbstractTableModel;

import org.jfree.data.general.SeriesChangeEvent;
import org.jfree.data.general.SeriesChangeListener;

/**
 * Wrapper around a time series to convert it to a table model for use in 
 * a <code>JTable</code>.
 */
public class TimeSeriesTableModel extends AbstractTableModel 
                                  implements SeriesChangeListener {

    /** The series. */
    private TimeSeries series;

    /** A flag that controls whether the series is editable. */
    private boolean editable;

    /** The new time period. */
    private RegularTimePeriod newTimePeriod;

    /** The new value. */
    private Number newValue;

    /**
     * Default constructor.
     */
    public TimeSeriesTableModel() {
        this(new TimeSeries("Untitled"));
    }

    /**
     * Constructs a table model for a time series.
     *
     * @param series  the time series.
     */
    public TimeSeriesTableModel(TimeSeries series) {
        this(series, false);
    }

    /**
     * Creates a table model based on a time series.
     *
     * @param series  the time series.
     * @param editable  if <ocde>true</code>, the table is editable.
     */
    public TimeSeriesTableModel(TimeSeries series, boolean editable) {
        this.series = series;
        this.series.addChangeListener(this);
        this.editable = editable;
    }

    /**
     * Returns the number of columns in the table model.  For this particular
     * model, the column count is fixed at 2.
     *
     * @return The column count.
     */
    public int getColumnCount() {
        return 2;
    }

    /**
     * Returns the column class in the table model.
     *
     * @param column    The column index.
     * 
     * @return The column class in the table model.
     */
    public Class getColumnClass(int column) {
        if (column == 0) {
            return String.class;
        }
        else {
            if (column == 1) {
                return Double.class;
            }
            else {
                return null;
            }
        }
    }

    /**
     * Returns the name of a column
     *
     * @param column  the column index.
     *
     * @return The name of a column.
     */
    public String getColumnName(int column) {

        if (column == 0) {
            return "Period:";
        }
        else {
            if (column == 1) {
                return "Value:";
            }
            else {
                return null;
            }
        }

    }

    /**
     * Returns the number of rows in the table model.
     *
     * @return The row count.
     */
    public int getRowCount() {
        return this.series.getItemCount();
    }

    /**
     * Returns the data value for a cell in the table model.
     *
     * @param row  the row number.
     * @param column  the column number.
     * 
     * @return The data value for a cell in the table model.
     */
    public Object getValueAt(int row, int column) {

        if (row < this.series.getItemCount()) {
            if (column == 0) {
                return this.series.getTimePeriod(row);
            }
            else {
                if (column == 1) {
                    return this.series.getValue(row);
                }
                else {
                    return null;
                }
            }
        }
        else {
            if (column == 0) {
                return this.newTimePeriod;
            }
            else {
                if (column == 1) {
                    return this.newValue;
                }
                else {
                    return null;
                }
            }
        }

    }

    /**
     * Returns a flag indicating whether or not the specified cell is editable.
     *
     * @param row  the row number.
     * @param column  the column number.
     *
     * @return <code>true</code> if the specified cell is editable.
     */
    public boolean isCellEditable(int row, int column) {
        if (this.editable) {
            if ((column == 0) || (column == 1)) {
                return true;
            }
            else {
                return false;
            }
        }
        else {
            return false;
        }
    }

    /**
     * Updates the time series.
     *
     * @param value  the new value.
     * @param row  the row.
     * @param column  the column.
     */
    public void setValueAt(Object value, int row, int column) {

        if (row < this.series.getItemCount()) {

            // update the time series appropriately
            if (column == 1) {
                try {
                    Double v = Double.valueOf(value.toString());
                    this.series.update(row, v);

                }
                catch (NumberFormatException nfe) {
                    System.err.println("Number format exception");
                }
            }
        }
        else {
            if (column == 0) {
                // this.series.getClass().valueOf(value.toString());
                this.newTimePeriod = null;
            }
            else if (column == 1) {
                this.newValue = Double.valueOf(value.toString());
            }
        }
    }

    /**
     * Receives notification that the time series has been changed.  Responds
     * by firing a table data change event.
     *
     * @param event  the event.
     */
    public void seriesChanged(SeriesChangeEvent event) {
        fireTableDataChanged();
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品素人一区二区| 国产成人午夜精品影院观看视频 | 99免费精品视频| 91久久久免费一区二区| 欧美日韩1234| 精品福利av导航| 中文字幕字幕中文在线中不卡视频| 亚洲国产一区二区视频| 久久97超碰色| 91影视在线播放| 日韩女优毛片在线| 日韩一区在线看| 裸体健美xxxx欧美裸体表演| 大胆亚洲人体视频| 3d动漫精品啪啪一区二区竹菊| 精品国产91亚洲一区二区三区婷婷| 中文字幕色av一区二区三区| 午夜精品国产更新| 成人午夜视频在线观看| 在线观看国产精品网站| 久久色.com| 亚洲视频一区二区在线| 激情欧美一区二区三区在线观看| 美女看a上一区| 久久青草欧美一区二区三区| 亚洲精品国产成人久久av盗摄 | av电影天堂一区二区在线| 欧美久久一二区| 国产精品视频观看| 麻豆91在线看| 精品视频999| 中文字幕一区二区三区不卡| 麻豆精品在线观看| 欧美亚洲图片小说| 国产精品久久国产精麻豆99网站| 日本美女一区二区| 日本韩国欧美三级| 国产精品久久久久久久第一福利 | 欧美喷潮久久久xxxxx| 成人欧美一区二区三区视频网页| 精品一区二区av| 欧美日韩国产综合一区二区| 国产女同互慰高潮91漫画| 亚洲宅男天堂在线观看无病毒| 日韩高清电影一区| 天天av天天翘天天综合网 | 久久久久高清精品| 免费人成在线不卡| 欧美日韩精品一区二区三区四区| 国产精品传媒入口麻豆| 久久99热国产| 日韩欧美国产电影| 婷婷激情综合网| 欧美亚洲国产一区二区三区va| 国产精品久久久久aaaa樱花| 国产一区二区伦理片| 日韩午夜三级在线| 午夜电影久久久| 欧美日韩视频在线第一区| 亚洲男人电影天堂| 99re这里只有精品首页| 欧美高清在线精品一区| 高清视频一区二区| 久久久夜色精品亚洲| 极品美女销魂一区二区三区 | 久久99国内精品| 日韩一区二区三区在线观看| 亚洲二区在线视频| 欧美三级蜜桃2在线观看| 亚洲综合色成人| 色婷婷综合五月| 亚洲精品一二三区| 91精彩视频在线观看| 一区二区三区在线影院| 色噜噜久久综合| 一区二区三区日韩欧美| 色综合色狠狠天天综合色| 亚洲欧美福利一区二区| 91美女精品福利| 亚洲乱码一区二区三区在线观看| 91香蕉视频污| 亚洲一区二区三区四区的| 欧美日韩国产综合久久| 日日嗨av一区二区三区四区| 日韩欧美在线影院| 国产一区二区不卡在线| 欧美国产激情二区三区| 91麻豆国产福利在线观看| 亚洲午夜精品网| 欧美一区二区高清| 国产精品亚洲一区二区三区妖精| 久久久久久久久蜜桃| 粉嫩绯色av一区二区在线观看| 中文字幕一区二区三中文字幕| 91小视频免费观看| 亚洲成人精品一区| 精品免费99久久| 成人av片在线观看| 亚洲精品中文在线影院| 在线播放/欧美激情| 老司机精品视频导航| 精品成人一区二区| 国产69精品久久久久毛片| 亚洲视频一二区| 欧美男人的天堂一二区| 久久精品二区亚洲w码| 日本一区二区在线不卡| 91久久精品网| 精品一区二区三区在线播放| 国产精品视频一二| 欧美中文字幕亚洲一区二区va在线| 日本三级韩国三级欧美三级| 久久久久国产成人精品亚洲午夜| 99re这里只有精品6| 婷婷国产v国产偷v亚洲高清| 26uuu国产电影一区二区| 95精品视频在线| 美腿丝袜亚洲综合| 中文字幕成人av| 欧美日韩成人综合在线一区二区| 国产精品亚洲一区二区三区在线| 亚洲自拍偷拍九九九| 久久青草欧美一区二区三区| 欧美艳星brazzers| 国产福利一区在线观看| 亚洲成人av资源| 欧美激情一区不卡| 日韩一卡二卡三卡四卡| 99久久精品免费看| 久久爱www久久做| 亚洲欧美区自拍先锋| 精品国产伦一区二区三区观看方式 | 欧美男人的天堂一二区| 成人福利电影精品一区二区在线观看| 亚洲高清免费在线| 国产精品拍天天在线| 日韩一级二级三级精品视频| 91免费视频大全| 激情综合网激情| 亚洲超碰97人人做人人爱| 国产精品大尺度| 久久综合久久综合亚洲| 欧美日本一区二区三区四区| 99视频在线精品| 国产一区二区三区免费观看| 亚洲成人动漫精品| 亚洲男人的天堂av| 国产校园另类小说区| 91精品国产一区二区人妖| 91在线精品一区二区三区| 国内成人自拍视频| 日韩成人免费电影| 亚洲国产美女搞黄色| 亚洲私人影院在线观看| 国产精品免费久久久久| 欧美精品一区二区三区高清aⅴ| 欧美日韩大陆一区二区| 欧美最猛性xxxxx直播| av在线播放一区二区三区| 激情文学综合插| 捆绑紧缚一区二区三区视频 | 欧美电影免费观看高清完整版 | 久久成人免费电影| 秋霞午夜鲁丝一区二区老狼| 亚洲线精品一区二区三区八戒| 亚洲欧洲在线观看av| 中文字幕免费一区| 国产午夜精品在线观看| 久久视频一区二区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧美成人精品高清在线播放 | 精品午夜久久福利影院| 麻豆成人av在线| 久久成人羞羞网站| 麻豆一区二区三| 久久精品久久99精品久久| 奇米影视在线99精品| 免费日本视频一区| 久久99国产精品久久99果冻传媒| 久久精品国产999大香线蕉| 极品美女销魂一区二区三区免费| 美国三级日本三级久久99| 久久国产精品99精品国产| 精品亚洲免费视频| 国产成人日日夜夜| 国产+成+人+亚洲欧洲自线| 高清成人在线观看| gogogo免费视频观看亚洲一| 91麻豆.com| 欧美性xxxxx极品少妇| 精品视频资源站| 69久久夜色精品国产69蝌蚪网| 91精品欧美综合在线观看最新 | 国产成人一区在线| 国产99久久久国产精品免费看| 成人黄色小视频在线观看| 99国产精品久久久久| 欧美午夜一区二区| 欧美一级高清片| 久久婷婷成人综合色|