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

📄 jthermometer.java

📁 这是一个segy数据显示程序
💻 JAVA
字号:
/* =========================================================== * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * * (C) Copyright 2000-2004, 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., 59 Temple Place, Suite 330, * Boston, MA 02111-1307, USA. * * [Java is a trademark or registered trademark of Sun Microsystems, Inc.  * in the United States and other countries.] * * ----------------- * JThermometer.java * ----------------- * A plot that displays a single value in a thermometer type display. * * (C) Copyright 2000-2004, Australian Antarctic Division and Contributors. * * Original Author:  Bryan Scott. * Contributor(s):   David Gilbert (for Object Refinery Limited); *                   Irv Thomae; * * Changes (from 17-Sep-2002) * -------------------------- * 17-Sep-2002 : Reviewed with Checkstyle utility (DG); * 18-Sep-2003 : Integrated new methods contributed by Irv Thomae (DG); * 08-Jan-2004 : Renamed AbstractTitle --> Title and moved to new package (DG); * */package org.jfree.chart.plot;import java.awt.CardLayout;import java.awt.Color;import java.awt.Font;import java.awt.Insets;import java.awt.Paint;import java.io.Serializable;import java.text.DecimalFormat;import javax.swing.JPanel;import org.jfree.chart.ChartPanel;import org.jfree.chart.JFreeChart;import org.jfree.chart.axis.ValueAxis;import org.jfree.chart.title.Title;import org.jfree.chart.title.TextTitle;import org.jfree.data.DefaultValueDataset;/** * An initial quick and dirty.  The concept behind this class would be to * generate a gui bean that could be used within JBuilder, Netbeans etc... * * Copyright (c) 2002 * Australian Antarctic Division * * @author Bryan Scott * */public class JThermometer extends JPanel implements Serializable {    /** The dataset. */    private DefaultValueDataset data;    /** The chart. */    private JFreeChart chart;    /** The chart panel. */    private ChartPanel panel;    /** The thermometer plot. */    private ThermometerPlot plot = new ThermometerPlot();    /**     * Default constructor.     */    public JThermometer() {        super(new CardLayout());        this.plot.setInsets(new Insets(5, 5, 5, 5));        this.data = new DefaultValueDataset();        //data.setRange(new Double(-60000), new Double(60000));        this.plot.setDataset(this.data);        this.chart = new JFreeChart(null, JFreeChart.DEFAULT_TITLE_FONT, this.plot, false);        this.panel = new ChartPanel(this.chart);        add(this.panel, "Panel");        setBackground(getBackground());    }    /**     * Adds a subtitle to the chart.     *     * @param subtitle  the subtitle.     */    public void addSubitle(Title subtitle) {        this.chart.addSubtitle(subtitle);    }    /**     * Adds a subtitle to the chart.     *     * @param subtitle  the subtitle.     */    public void addSubtitle(String subtitle) {        this.chart.addSubtitle(new TextTitle(subtitle));    }    /**     * Adds a subtitle to the chart.     *     * @param subtitle  the subtitle.     * @param font  the subtitle font.     */    public void addSubtitle(String subtitle, Font font) {        this.chart.addSubtitle(new TextTitle(subtitle, font));    }    /**     * Sets the value format for the thermometer.     *     * @param df  the formatter.     */    public void setValueFormat(DecimalFormat df) {        this.plot.setValueFormat(df);    }    /**     * Sets the lower and upper bounds for the thermometer.     *     * @param lower  the lower bound.     * @param upper  the upper bound.     */    public void setRange(double lower, double upper) {        this.plot.setRange(lower, upper);    }    /**     * Sets the range.     *     * @param range  the range type.     * @param displayLow  the low value.     * @param displayHigh  the high value.     */    public void setSubrangeInfo(int range, double displayLow, double displayHigh) {        this.plot.setSubrangeInfo(range, displayLow, displayHigh);    }    /**     * Sets the range.     *     * @param range  the range type.     * @param rangeLow  the low value for the range.     * @param rangeHigh  the high value for the range.     * @param displayLow  the low value for display.     * @param displayHigh  the high value for display.     */    public void setSubrangeInfo(int range,                             double rangeLow, double rangeHigh,                             double displayLow, double displayHigh) {        this.plot.setSubrangeInfo(range, rangeLow, rangeHigh, displayLow, displayHigh);    }    /**     * Sets the location at which the temperature value is displayed.     *     * @param loc  the location.     */    public void setValueLocation(int loc) {        this.plot.setValueLocation(loc);        this.panel.repaint();    }    /**     * Sets the value paint.     *     * @param paint  the paint.     */    public void setValuePaint(Paint paint) {        this.plot.setValuePaint(paint);    }    /**     * Returns the value of the thermometer.     *     * @return the value.     */    public Number getValue() {        if (this.data != null) {            return this.data.getValue();        }        else {            return null;        }    }    /**     * Sets the value of the thermometer.     *     * @param value  the value.     */    public void setValue(double value) {        setValue(new Double(value));    }    /**     * Sets the value of the thermometer.     *     * @param value  the value.     */    public void setValue(Number value) {        if (this.data != null) {            this.data.setValue(value);        }    }    /**     * Sets the unit type.     *     * @param i  the unit type.     */    public void setUnits(int i) {        if (this.plot != null) {            this.plot.setUnits(i);        }    }    /**     * Sets the outline paint.     *     * @param p  the paint.     */    public void setOutlinePaint(Paint p) {        if (this.plot != null) {            this.plot.setOutlinePaint(p);        }    }    /**     * Sets the foreground color.     *     * @param fg  the foreground color.     */    public void setForeground(Color fg) {        super.setForeground(fg);        if (this.plot != null) {            this.plot.setThermometerPaint(fg);        }    }    /**     * Sets the background color.     *     * @param bg  the background color.     */    public void setBackground(Color bg) {        super.setBackground(bg);        if (this.plot != null) {            this.plot.setBackgroundPaint(bg);        }        if (this.chart != null) {            this.chart.setBackgroundPaint(bg);        }        if (this.panel != null) {            this.panel.setBackground(bg);        }    }    /**     * Sets the value font.     *     * @param f  the font.     */    public void setValueFont(Font f) {        if (this.plot != null) {            this.plot.setValueFont(f);        }    }    /**     * Returns the tick label font.     *     * @return The tick label font.     */    public Font getTickLabelFont() {        ValueAxis axis = this.plot.getVerticalValueAxis();        return axis.getTickLabelFont();    }    /**     * Sets the tick label font.     *     * @param font  the font.     */    public void setTickLabelFont(Font font) {        ValueAxis axis = this.plot.getVerticalValueAxis();        axis.setTickLabelFont(font);    }    /**     * Increases or decreases the tick font size.     *     * @param delta  the change in size.     */    public void changeTickFontSize(int delta) {        Font f = getTickLabelFont();        String fName = f.getFontName();        Font newFont = new Font(fName, f.getStyle(), (f.getSize() + delta));        setTickLabelFont(newFont);    }    /**     * Sets the tick font style.     *     * @param style  the style.     */    public void setTickFontStyle(int style) {        Font f = getTickLabelFont();        String fName = f.getFontName();        Font newFont = new Font(fName, style, f.getSize());        setTickLabelFont(newFont);    }    /**     * Sets the flag that controls whether or not the display range follows the data value.     *     * @param flag  the new value of the flag.     */    public void setFollowDataInSubranges(boolean flag) {        this.plot.setFollowDataInSubranges(flag);    }    /**     * Sets the flag that controls whether or not value lines are displayed.     *     * @param b  the new flag value.     */    public void setShowValueLines(boolean b) {        this.plot.setShowValueLines(b);    }    /**     * Sets the location for the axis.     *      * @param location  the location.     */    public void setShowAxisLocation(int location) {        this.plot.setAxisLocation(location);    }    /**     * Returns the location for the axis.     *      * @return the location.     */    public int getShowAxisLocation() {      return this.plot.getAxisocation();    }}

⌨️ 快捷键说明

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