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

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

?? chartpanel.java

?? Web圖形化的Java庫
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
/* ======================================
 * JFreeChart : a free Java chart library
 * ======================================
 *
 * Project Info:  http://www.jfree.org/jfreechart/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.
 *
 * ---------------
 * ChartPanel.java
 * ---------------
 * (C) Copyright 2000-2003, by Object Refinery Limited and Contributors.
 *
 * Original Author:  David Gilbert (for Object Refinery Limited);
 * Contributor(s):   Andrzej Porebski;
 *                   S?ren Caspersen;
 *                   Jonathan Nash;
 *                   Hans-Jurgen Greiner;
 *                   Andreas Schneider;
 *                   Daniel van Enckevort;
 *                   David M O'Donnell;
 *                   Arnaud Lelievre;
 *
 * $Id: ChartPanel.java,v 1.14 2003/09/09 10:15:13 mungady Exp $
 *
 * Changes (from 28-Jun-2001)
 * --------------------------
 * 28-Jun-2001 : Integrated buffering code contributed by S?ren Caspersen (DG);
 * 18-Sep-2001 : Updated header and fixed DOS encoding problem (DG);
 * 22-Nov-2001 : Added scaling to improve display of charts in small sizes (DG);
 * 26-Nov-2001 : Added property editing, saving and printing (DG);
 * 11-Dec-2001 : Transferred saveChartAsPNG method to new ChartUtilities class (DG);
 * 13-Dec-2001 : Added tooltips (DG);
 * 16-Jan-2002 : Added an optional crosshair, based on the implementation by Jonathan Nash.
 *               Renamed the tooltips class (DG);
 * 23-Jan-2002 : Implemented zooming based on code by Hans-Jurgen Greiner (DG);
 * 05-Feb-2002 : Improved tooltips setup.  Renamed method attemptSaveAs()-->doSaveAs() and made
 *               it public rather than private (DG);
 * 28-Mar-2002 : Added a new constructor (DG);
 * 09-Apr-2002 : Changed initialisation of tooltip generation, as suggested by Hans-Jurgen
 *               Greiner (DG);
 * 27-May-2002 : New interactive zooming methods based on code by Hans-Jurgen Greiner. Renamed
 *               JFreeChartPanel --> ChartPanel, moved constants to ChartPanelConstants
 *               interface (DG);
 * 31-May-2002 : Fixed a bug with interactive zooming and added a way to control if the
 *               zoom rectangle is filled in or drawn as an outline. A mouse drag
 *               gesture towards the top left now causes an autoRangeBoth() and is
 *               a way to undo zooms (AS);
 * 11-Jun-2002 : Reinstated handleClick method call in mouseClicked(...) to get crosshairs
 *               working again (DG);
 * 13-Jun-2002 : Added check for null popup menu in mouseDragged method (DG);
 * 18-Jun-2002 : Added get/set methods for minimum and maximum chart dimensions (DG);
 * 25-Jun-2002 : Removed redundant code (DG);
 * 27-Aug-2002 : Added get/set methods for popup menu (DG);
 * 26-Sep-2002 : Fixed errors reported by Checkstyle (DG);
 * 22-Oct-2002 : Added translation methods for screen <--> Java2D, contributed by Daniel
 *               van Enckevort (DG);
 * 05-Nov-2002 : Added a chart reference to the ChartMouseEvent class (DG);
 * 22-Nov-2002 : Added test in zoom method for inverted axes, supplied by David M O'Donnell (DG);
 * 14-Jan-2003 : Implemented ChartProgressListener interface (DG);
 * 14-Feb-2003 : Removed deprecated setGenerateTooltips method (DG);
 * 12-Mar-2003 : Added option to enforce filename extension (see bug id 643173) (DG);
 * 08-Sep-2003 : Added internationalization via use of properties resourceBundle (RFE 690236) (AL);
 *
 */

package org.jfree.chart;

import java.awt.AWTEvent;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.AffineTransform;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.ResourceBundle;

import javax.swing.JFileChooser;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.ToolTipManager;

import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.entity.ChartEntity;
import org.jfree.chart.entity.EntityCollection;
import org.jfree.chart.event.ChartChangeEvent;
import org.jfree.chart.event.ChartChangeListener;
import org.jfree.chart.event.ChartProgressEvent;
import org.jfree.chart.event.ChartProgressListener;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.Plot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.ValueAxisPlot;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.ui.ChartPropertyEditPanel;
import org.jfree.ui.ExtensionFileFilter;
import org.jfree.ui.RefineryUtilities;

/**
 * A Swing GUI component for displaying a {@link JFreeChart}.
 * <P>
 * The panel registers with the chart to receive notification of changes to any component of the
 * chart.  The chart is redrawn automatically whenever this notification is received.
 *
 * @author David Gilbert
 */
public class ChartPanel extends JPanel implements ChartPanelConstants,
                                                  ChartChangeListener,
                                                  ChartProgressListener,
                                                  ActionListener,
                                                  MouseListener,
                                                  MouseMotionListener,
                                                  Printable {

    /** The chart that is displayed in the panel. */
    private JFreeChart chart;

    /** Storage for registered (chart) mouse listeners. */
    private List chartMouseListeners;

    /** A flag that controls whether or not the off-screen buffer is used. */
    private boolean useBuffer;

    /** A flag that indicates that the buffer should be refreshed. */
    private boolean refreshBuffer;

    /** A buffer for the rendered chart. */
    private Image chartBuffer;

    /** The height of the chart buffer. */
    private int chartBufferHeight;

    /** The width of the chart buffer. */
    private int chartBufferWidth;

    /** The minimum width for drawing a chart (uses scaling for smaller widths). */
    private int minimumDrawWidth;

    /** The minimum height for drawing a chart (uses scaling for smaller heights). */
    private int minimumDrawHeight;

    /** The maximum width for drawing a chart (uses scaling for bigger widths). */
    private int maximumDrawWidth;

    /** The maximum height for drawing a chart (uses scaling for bigger heights). */
    private int maximumDrawHeight;

    /** The popup menu for the frame. */
    private JPopupMenu popup;

    /** The drawing info collected the last time the chart was drawn. */
    private ChartRenderingInfo info;

    /** The scale factor used to draw the chart. */
    private double scaleX;

    /** The scale factor used to draw the chart. */
    private double scaleY;

    /** The zoom rectangle (selected by the user with the mouse). */
    private Rectangle2D zoomRectangle = null;

    /** The zoom rectangle starting point (selected by the user with a mouse
     *  click)
     */
    private Point2D zoomPoint = null;

    /** Controls if the zoom rectangle is drawn as an outline or filled. */
    private boolean fillZoomRectangle = false;

    /** A flag that controls whether or not horizontal zooming is enabled. */
    private boolean horizontalZoom = false;

    /** A flag that controls whether or not vertical zooming is enabled. */
    private boolean verticalZoom = false;

    /** A flag that controls whether or not horizontal tracing is enabled. */
    private boolean horizontalAxisTrace = false;

    /** A flag that controls whether or not vertical tracing is enabled. */
    private boolean verticalAxisTrace = false;

    /** Menu item for zooming in on a chart (both axes). */
    private JMenuItem zoomInBothMenuItem;

    /** Menu item for zooming in on a chart (horizontal axis). */
    private JMenuItem zoomInHorizontalMenuItem;

    /** Menu item for zooming in on a chart (vertical axis). */
    private JMenuItem zoomInVerticalMenuItem;

    /** Menu item for zooming out on a chart. */
    private JMenuItem zoomOutBothMenuItem;

    /** Menu item for zooming out on a chart (horizontal axis). */
    private JMenuItem zoomOutHorizontalMenuItem;

    /** Menu item for zooming out on a chart (vertical axis). */
    private JMenuItem zoomOutVerticalMenuItem;

    /** Menu item for resetting the zoom (both axes). */
    private JMenuItem autoRangeBothMenuItem;

    /** Menu item for resetting the zoom (horizontal axis only). */
    private JMenuItem autoRangeHorizontalMenuItem;

    /** Menu item for resetting the zoom (vertical axis only). */
    private JMenuItem autoRangeVerticalMenuItem;

    /** A vertical trace line. */
    private Line2D verticalTraceLine;

    /** A horizontal trace line. */
    private Line2D horizontalTraceLine;

    /** A flag that controls whether or not file extensions are enforced. */
    private boolean enforceFileExtensions;

    /** The resourceBundle for the localization. */
    static protected ResourceBundle localizationResources = 
                                    ResourceBundle.getBundle("org.jfree.chart.LocalizationBundle");

    /**
     * Constructs a JFreeChart panel.
     *
     * @param chart  the chart.
     */
    public ChartPanel(JFreeChart chart) {

        this(chart,
             DEFAULT_WIDTH,
             DEFAULT_HEIGHT,
             DEFAULT_MINIMUM_DRAW_WIDTH,
             DEFAULT_MINIMUM_DRAW_HEIGHT,
             DEFAULT_MAXIMUM_DRAW_WIDTH,
             DEFAULT_MAXIMUM_DRAW_HEIGHT,
             DEFAULT_BUFFER_USED,
             true,  // properties
             true,  // save
             true,  // print
             true,  // zoom
             true   // tooltips
             );

    }

    /**
     * Constructs a panel containing a chart.
     *
     * @param chart  the chart.
     * @param useBuffer  a flag controlling whether or not an off-screen buffer is used.
     */
    public ChartPanel(JFreeChart chart, boolean useBuffer) {

        this(chart,
             DEFAULT_WIDTH,
             DEFAULT_HEIGHT,
             DEFAULT_MINIMUM_DRAW_WIDTH,
             DEFAULT_MINIMUM_DRAW_HEIGHT,
             DEFAULT_MAXIMUM_DRAW_WIDTH,
             DEFAULT_MAXIMUM_DRAW_HEIGHT,
             useBuffer,
             true,  // properties
             true,  // save
             true,  // print
             true,  // zoom
             true   // tooltips
             );

    }

    /**
     * Constructs a JFreeChart panel.
     *
     * @param chart  the chart.
     * @param properties  a flag indicating whether or not the chart property
     *                    editor should be available via the popup menu.
     * @param save  a flag indicating whether or not save options should be
     *              available via the popup menu.
     * @param print  a flag indicating whether or not the print option
     *               should be available via the popup menu.
     * @param zoom  a flag indicating whether or not zoom options should
     *              be added to the popup menu.
     * @param tooltips  a flag indicating whether or not tooltips should be
     *                  enabled for the chart.
     */
    public ChartPanel(JFreeChart chart,
                      boolean properties,
                      boolean save,
                      boolean print,
                      boolean zoom,
                      boolean tooltips) {

        this(chart,
             DEFAULT_WIDTH,
             DEFAULT_HEIGHT,
             DEFAULT_MINIMUM_DRAW_WIDTH,
             DEFAULT_MINIMUM_DRAW_HEIGHT,
             DEFAULT_MAXIMUM_DRAW_WIDTH,
             DEFAULT_MAXIMUM_DRAW_HEIGHT,
             DEFAULT_BUFFER_USED,
             properties,
             save,
             print,
             zoom,
             tooltips
             );

    }

    /**
     * Constructs a JFreeChart panel.
     *
     * @param chart  the chart.
     * @param width  the preferred width of the panel.
     * @param height  the preferred height of the panel.
     * @param minimumDrawWidth  the minimum drawing width.
     * @param minimumDrawHeight  the minimum drawing height.
     * @param maximumDrawWidth  the maximum drawing width.
     * @param maximumDrawHeight  the maximum drawing height.
     * @param useBuffer  a flag that indicates whether to use the off-screen
     *                   buffer to improve performance (at the expense of memory).
     * @param properties  a flag indicating whether or not the chart property
     *                    editor should be available via the popup menu.
     * @param save  a flag indicating whether or not save options should be
     *              available via the popup menu.
     * @param print  a flag indicating whether or not the print option
     *               should be available via the popup menu.
     * @param zoom  a flag indicating whether or not zoom options should be added to the

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品私人自拍| 555www色欧美视频| 国产精品久久三| 成人午夜在线播放| 中文字幕一区二区在线观看| 不卡影院免费观看| 亚洲黄色小视频| 欧美日韩国产区一| 日本成人在线网站| 久久久99久久| 99精品久久只有精品| 亚洲高清免费在线| 久久综合九色综合欧美就去吻 | 精品va天堂亚洲国产| 黄页视频在线91| 国产精品福利影院| 在线成人午夜影院| 国产精品一区在线| 亚洲一区二三区| 日韩免费看网站| 99国产精品久久久| 日韩av一区二| 中文字幕在线一区免费| 91麻豆精品国产自产在线 | 欧美日韩免费一区二区三区视频| 香蕉久久夜色精品国产使用方法| 欧美电影免费提供在线观看| 成人性生交大片免费看在线播放| 亚洲综合视频在线| 久久久久久9999| 欧洲精品在线观看| 国产尤物一区二区在线| 一区二区三区国产豹纹内裤在线| 欧美一区二区三区视频| 91无套直看片红桃| 国产一区二区中文字幕| 一区二区三区精密机械公司| 精品电影一区二区| 777色狠狠一区二区三区| 成人综合日日夜夜| 老司机免费视频一区二区| 国产精品久久久久一区二区三区| 56国语精品自产拍在线观看| av日韩在线网站| 国内精品第一页| 亚洲成人自拍网| 日韩一区在线看| 久久久久综合网| 555www色欧美视频| 欧美在线免费视屏| 成人黄色免费短视频| 极品瑜伽女神91| 亚洲超碰精品一区二区| 亚洲欧美一区二区三区孕妇| 久久久九九九九| 欧美xxxxx牲另类人与| 欧美另类久久久品| 欧美午夜寂寞影院| 91福利社在线观看| av在线播放不卡| 成人免费视频国产在线观看| 国模无码大尺度一区二区三区| 日韩精彩视频在线观看| 亚洲午夜精品一区二区三区他趣| 国产精品卡一卡二| 国产蜜臀av在线一区二区三区| 欧美大黄免费观看| 91麻豆精品91久久久久同性| 在线观看区一区二| 91成人免费在线| 一本久久a久久精品亚洲| av欧美精品.com| av福利精品导航| 972aa.com艺术欧美| av亚洲精华国产精华精华| 成人小视频免费在线观看| 懂色av一区二区三区蜜臀| 成人永久免费视频| 成人性色生活片| 91在线视频免费观看| 91丨porny丨在线| 色综合视频在线观看| 在线亚洲一区观看| 色94色欧美sute亚洲线路二 | 亚洲狠狠爱一区二区三区| 亚洲一区中文在线| 亚洲大片免费看| 免费观看日韩电影| 国产九九视频一区二区三区| 国产一区二区免费看| 粉嫩aⅴ一区二区三区四区五区| 国产精品一区久久久久| 成人成人成人在线视频| 91亚洲精品一区二区乱码| 欧美无人高清视频在线观看| 制服丝袜av成人在线看| 日韩美女视频一区二区在线观看| 久久综合久久综合久久| 中文字幕亚洲视频| 亚洲成年人影院| 精品一区中文字幕| 成人手机电影网| 欧美日韩亚洲综合一区二区三区| 制服丝袜在线91| 久久精品一级爱片| 亚洲麻豆国产自偷在线| 天天色综合成人网| 国产精品888| 精品视频一区 二区 三区| 欧美zozozo| 亚洲激情自拍视频| 极品尤物av久久免费看| 91麻豆精品视频| 日韩免费在线观看| 国产精品久久国产精麻豆99网站| 亚洲国产毛片aaaaa无费看 | 亚洲国产高清不卡| 亚洲综合免费观看高清完整版在线| 蜜臀av在线播放一区二区三区 | 亚洲欧洲一区二区在线播放| 婷婷综合久久一区二区三区| 国产suv精品一区二区三区| 在线免费观看日本一区| 久久综合色综合88| 天天色天天爱天天射综合| 岛国精品在线播放| 91精品国产丝袜白色高跟鞋| 国产精品久久久久久久浪潮网站| 亚洲va韩国va欧美va精品| 成人一级片在线观看| 91精品国产乱| 亚洲欧美一区二区久久| 老司机精品视频一区二区三区| 日本精品视频一区二区| 国产无一区二区| 久久国产精品99精品国产 | 欧美国产日韩一二三区| 秋霞国产午夜精品免费视频| 97久久精品人人做人人爽50路| 精品剧情在线观看| 亚洲成av人片一区二区| 91麻豆免费看| 中文字幕在线播放不卡一区| 黄一区二区三区| 欧美一级二级三级乱码| 亚洲国产一区视频| 99精品久久只有精品| 中文字幕av资源一区| 国产一区在线不卡| 欧美mv日韩mv国产网站app| 午夜视频久久久久久| 色视频一区二区| 国产精品久久久久久久久快鸭| 国产一区二区三区蝌蚪| 欧美大片日本大片免费观看| 欧美a级理论片| 在线不卡免费av| 视频一区二区欧美| 欧美日韩免费在线视频| 亚洲国产一区二区三区青草影视| 93久久精品日日躁夜夜躁欧美| 国产婷婷一区二区| 国产九色sp调教91| 国产欧美日韩视频一区二区 | 国产精品欧美极品| 国产成人精品aa毛片| 国产亚洲一区二区在线观看| 精品一区二区三区免费毛片爱| 精品国产在天天线2019| 精品一区二区三区影院在线午夜| 日韩欧美国产一区二区在线播放| 三级欧美在线一区| 7777女厕盗摄久久久| 日韩电影在线免费观看| 日韩欧美一区二区免费| 狠狠久久亚洲欧美| 久久久一区二区| 从欧美一区二区三区| 一区二区中文字幕在线| 91福利资源站| 日韩经典一区二区| 精品国产乱码久久久久久1区2区| 国产精品原创巨作av| 国产精品美女久久久久久2018| 99国产精品久久久| 亚洲成人一二三| 精品国产一区二区三区久久影院| 国产乱子轮精品视频| 国产精品区一区二区三区| 91九色02白丝porn| 日韩高清一区在线| 久久久久久99精品| www.亚洲精品| 亚洲成人免费视频| 26uuu精品一区二区三区四区在线| 国产成a人亚洲精| 亚洲视频免费在线| 91精品国产美女浴室洗澡无遮挡| 激情五月激情综合网| 亚洲色图20p|