Java tutorial
/* * This file is part of the QuickServer library * Copyright (C) 2003-2005 QuickServer.org * * Use, modification, copying and distribution of this software is subject to * the terms and conditions of the GNU Lesser General Public License. * You should have received a copy of the GNU LGP License along with this * library; if not, you can download a copy from <http://www.quickserver.org/>. * * For questions, suggestions, bug-reports, enhancement-requests etc. * visit http://www.quickserver.org * */ package org.quickserver.net.qsadmin.plugin.stats; import javax.swing.JPanel; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Insets; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.MeterPlot; import org.jfree.data.DefaultValueDataset; import org.jfree.data.Range; import org.jfree.chart.TextTitle; /** * MeterPanel for displaying client count for * QuickServer Admin GUI - QSAdminGUI * @author Akshathkumar Shetty * @since 1.3.2 */ public class MeterChart extends JPanel { private DefaultValueDataset data; private MeterPlot meterplot; private Range range; private JFreeChart meterchart; private ChartPanel panelMeter; private Color bgColor; public MeterChart(String title) { data = new DefaultValueDataset(0.0); meterplot = new MeterPlot(data); range = new Range(0, 20000); bgColor = new Color(238, 238, 230, 255); meterplot.setRange(range); meterplot.setNormalRange(new Range(0, 4000)); meterplot.setWarningRange(new Range(4000, 9000)); meterplot.setCriticalRange(new Range(9000, 20000)); meterplot.setUnits(""); meterplot.setDrawBorder(false); meterplot.setInsets(new Insets(2, 2, 2, 2)); meterchart = new JFreeChart(title + " Meter", JFreeChart.DEFAULT_TITLE_FONT, meterplot, false); meterchart.setBackgroundPaint(bgColor); panelMeter = new ChartPanel(meterchart); setLayout(new BorderLayout()); add(panelMeter, BorderLayout.CENTER); } public void setValue(Double value) { data.setValue(value); } public Double getValue() { return (Double) data.getValue(); } public void setUnits(String units) { meterplot.setUnits(units); } public String getUnits() { return meterplot.getUnits(); } public void setTitle(String title) { meterchart.setTitle(new TextTitle(title, JFreeChart.DEFAULT_TITLE_FONT)); } public String getTitle() { return meterchart.getTitle().getText(); } public void setBgColor(Color bgColor) { this.bgColor = bgColor; meterchart.setBackgroundPaint(bgColor); } }