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

📄 pieplot.java

📁 这是一个segy数据显示程序
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        this.sectionOutlinePaintList = new PaintList();        this.baseSectionOutlinePaint = DEFAULT_OUTLINE_PAINT;        this.sectionOutlineStroke = null;        this.sectionOutlineStrokeList = new StrokeList();        this.baseSectionOutlineStroke = DEFAULT_OUTLINE_STROKE;                this.explodePercentages = new ObjectList();        this.labelGenerator = new StandardPieItemLabelGenerator();        this.labelFont = DEFAULT_LABEL_FONT;        this.labelPaint = DEFAULT_LABEL_PAINT;        this.labelBackgroundPaint = DEFAULT_LABEL_BACKGROUND_PAINT;        this.labelOutlinePaint = DEFAULT_LABEL_OUTLINE_PAINT;        this.labelOutlineStroke = DEFAULT_LABEL_OUTLINE_STROKE;        this.labelShadowPaint = DEFAULT_LABEL_SHADOW_PAINT;                this.toolTipGenerator = null;        this.urlGenerator = null;    }    /**     * Returns the dataset.     *     * @return The dataset (possibly <code>null</code>).     */    public PieDataset getDataset() {        return this.dataset;    }    /**     * Sets the dataset and sends a {@link DatasetChangeEvent} to 'this'.     *     * @param dataset  the dataset (<code>null</code> permitted).     */    public void setDataset(PieDataset dataset) {        // if there is an existing dataset, remove the plot from the list of change listeners...        PieDataset existing = this.dataset;        if (existing != null) {            existing.removeChangeListener(this);        }        // set the new dataset, and register the chart as a change listener...        this.dataset = dataset;        if (dataset != null) {            setDatasetGroup(dataset.getGroup());            dataset.addChangeListener(this);        }        // send a dataset change event to self...        DatasetChangeEvent event = new DatasetChangeEvent(this, dataset);        datasetChanged(event);    }        /**     * Returns the pie index (this is used by the {@link MultiplePiePlot} class to track     * subplots).     *      * @return the pie index.     */    public int getPieIndex() {        return this.pieIndex;    }        /**     * Sets the pie index (this is used by the {@link MultiplePiePlot} class to track     * subplots).     *      * @param index  the index.     */    public void setPieIndex(int index) {        this.pieIndex = index;    }        /**     * Returns the start angle for the first pie section.     * <P>     * This is measured in degrees starting from 3 o'clock and measuring anti-clockwise.     *     * @return the start angle.     */    public double getStartAngle() {        return this.startAngle;    }    /**     * Sets the starting angle and sends a {@link PlotChangeEvent} to all registered listeners.     * <P>     * The initial default value is 90 degrees, which corresponds to 12 o'clock.  A value of zero     * corresponds to 3 o'clock... this is the encoding used by Java's Arc2D class.     *     * @param angle  the angle (in degrees).     */    public void setStartAngle(double angle) {        this.startAngle = angle;        notifyListeners(new PlotChangeEvent(this));    }    /**     * Returns the direction in which the pie sections are drawn (clockwise or anti-clockwise).     *     * @return the direction (never <code>null</code>).     */    public Rotation getDirection() {        return this.direction;    }    /**     * Sets the direction in which the pie sections are drawn and sends a {@link PlotChangeEvent}     * to all registered listeners.     *     * @param direction  the direction (<code>null</code> not permitted).     */    public void setDirection(Rotation direction) {        if (direction == null) {            throw new IllegalArgumentException("Null 'direction' argument.");        }        this.direction = direction;        notifyListeners(new PlotChangeEvent(this));    }    /**     * Returns the interior gap, measured as a percentage of the available drawing space.     *     * @return the gap (as a percentage of the available drawing space).     */    public double getInteriorGap() {        return this.interiorGap;    }    /**     * Sets the interior gap and sends a {@link PlotChangeEvent} to all registered listeners.  This     * controls the space between the edges of the pie plot and the plot area itself (the region     * where the section labels appear).     *     * @param percent  the gap (as a percentage of the available drawing space).     */    public void setInteriorGap(double percent) {        // check arguments...        if ((percent < 0.0) || (percent > MAX_INTERIOR_GAP)) {            throw new IllegalArgumentException(                "PiePlot.setInteriorGapPercent(double): percentage outside valid range.");        }        // make the change...        if (this.interiorGap != percent) {            this.interiorGap = percent;            notifyListeners(new PlotChangeEvent(this));        }    }    /**     * Returns a flag indicating whether the pie chart is circular, or     * stretched into an elliptical shape.     *     * @return a flag indicating whether the pie chart is circular.     */    public boolean isCircular() {        return this.circular;    }    /**     * A flag indicating whether the pie chart is circular, or stretched into     * an elliptical shape.     *     * @param flag  the new value.     */    public void setCircular(boolean flag) {        setCircular(flag, true);    }    /**     * Sets the circular attribute and, if requested, sends a {@link PlotChangeEvent} to all     * registered listeners.     *     * @param circular  the new value of the flag.     * @param notify  notify listeners?     */    public void setCircular(boolean circular, boolean notify) {        this.circular = circular;        if (notify) {            notifyListeners(new PlotChangeEvent(this));           }    }    //// SECTION PAINT ////////////////////////////////////////////////////////////////////////////    /**     * Returns the paint for ALL sections in the plot.     *     * @return the paint (possibly <code>null</code>).     */    public Paint getSectionPaint() {        return this.sectionPaint;    }    /**     * Sets the paint for ALL sections in the plot.  If this is set to     * </code>null</code>, then a list of paints is used instead (to allow     * different colors to be used for each section).     *     * @param paint  the paint (<code>null</code> permitted).     */    public void setSectionPaint(Paint paint) {        this.sectionPaint = paint;        notifyListeners(new PlotChangeEvent(this));    }    /**     * Returns the paint for the specified section.     *      * @param section  the section index (zero-based).     *      * @return the paint (never <code>null</code>).     */    public Paint getSectionPaint(int section) {                // return the override, if there is one...        if (this.sectionPaint != null) {            return this.sectionPaint;        }        // otherwise look up the paint list        Paint result = this.sectionPaintList.getPaint(section);        if (result == null) {            DrawingSupplier supplier = getDrawingSupplier();            if (supplier != null) {                Paint p = supplier.getNextPaint();                this.sectionPaintList.setPaint(section, p);                result = p;            }            else {                result = this.baseSectionPaint;            }        }        return result;           }        /**     * Sets the paint used to fill a section of the pie and sends a {@link PlotChangeEvent} to     * all registered listeners.     *     * @param section  the section index (zero-based).     * @param paint  the paint (<code>null</code> permitted).     */    public void setSectionPaint(int section, Paint paint) {        this.sectionPaintList.setPaint(section, paint);        notifyListeners(new PlotChangeEvent(this));    }        /**     * Returns the base section paint.  This is used when no other paint is available.     *      * @return the paint (never <code>null</code>).     */    public Paint getBaseSectionPaint() {        return this.baseSectionPaint;       }        /**     * Sets the base section paint.     *      * @param paint  the paint (<code>null</code> not permitted).     */    public void setBaseSectionPaint(Paint paint) {        if (paint == null) {            throw new IllegalArgumentException("Null 'paint' argument.");           }        this.baseSectionPaint = paint;        notifyListeners(new PlotChangeEvent(this));    }        //// SECTION OUTLINE PAINT ////////////////////////////////////////////////////////////////////    /**     * Returns the outline paint for ALL sections in the plot.     *     * @return the paint (possibly <code>null</code>).     */    public Paint getSectionOutlinePaint() {        return this.sectionOutlinePaint;    }    /**     * Sets the outline paint for ALL sections in the plot.  If this is set to     * </code>null</code>, then a list of paints is used instead (to allow     * different colors to be used for each section).     *     * @param paint  the paint (<code>null</code> permitted).     */    public void setSectionOutlinePaint(Paint paint) {        this.sectionOutlinePaint = paint;        notifyListeners(new PlotChangeEvent(this));    }    /**     * Returns the paint for the specified section.     *      * @param section  the section index (zero-based).     *      * @return the paint (never <code>null</code>).     */    public Paint getSectionOutlinePaint(int section) {                // return the override, if there is one...        if (this.sectionOutlinePaint != null) {            return this.sectionOutlinePaint;        }        // otherwise look up the paint list        Paint result = this.sectionOutlinePaintList.getPaint(section);        if (result == null) {            result = this.baseSectionOutlinePaint;        }        return result;           }        /**     * Sets the paint used to fill a section of the pie and sends a {@link PlotChangeEvent} to     * all registered listeners.     *     * @param section  the section index (zero-based).     * @param paint  the paint (<code>null</code> permitted).     */    public void setSectionOutlinePaint(int section, Paint paint) {        this.sectionOutlinePaintList.setPaint(section, paint);        notifyListeners(new PlotChangeEvent(this));    }        /**     * Returns the base section paint.  This is used when no other paint is available.     *      * @return the paint (never <code>null</code>).     */    public Paint getBaseSectionOutlinePaint() {        return this.baseSectionOutlinePaint;       }        /**     * Sets the base section paint.     *      * @param paint  the paint (<code>null</code> not permitted).     */    public void setBaseSectionOutlinePaint(Paint paint) {        if (paint == null) {            throw new IllegalArgumentException("Null 'paint' argument.");           }        this.baseSectionOutlinePaint = paint;        notifyListeners(new PlotChangeEvent(this));    }        //// SECTION OUTLINE STROKE ///////////////////////////////////////////////////////////////////    /**     * Returns the outline stroke for ALL sections in the plot.

⌨️ 快捷键说明

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