www.pudn.com > jfreechart-0.9.12.zip > DateTitle.java
/* ====================================== * 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. * * -------------- * DateTitle.java * -------------- * (C) Copyright 2000-2003, by David Berry and Contributors. * * Original Author: David Berry; * Contributor(s): David Gilbert (for Object Refinery Limited); * * $Id: DateTitle.java,v 1.4 2003/06/13 15:44:45 mungady Exp $ * * Changes (from 18-Sep-2001) * -------------------------- * 18-Sep-2001 : Added standard header (DG); * 09-Jan-2002 : Updated Javadoc comments (DG); * 07-Feb-2002 : Changed blank space around title from Insets --> Spacer, to allow for relative * or absolute spacing (DG); * 26-Sep-2002 : Fixed errors reported by Checkstyle (DG); * */ package org.jfree.chart; import java.awt.Color; import java.awt.Font; import java.awt.Paint; import java.text.DateFormat; import java.util.Date; import java.util.Locale; /** * A chart title that displays the date. ** Keep in mind that a chart can have several titles, and that they can appear at the top, left, * right or bottom of the chart - a
DateTitlewill commonly appear at the bottom of * a chart, although you can place it anywhere. ** By specifying the locale, dates are formatted to the correct standard for * the given locale. For example, a date would appear as "January 17, 2000" in * the US, but "17 January 2000" in most European locales. * * @author David Berry */ public class DateTitle extends TextTitle { /** * Creates a new chart title that displays the current date in the default * (LONG) format for the locale, positioned to the bottom right of the chart. *
* The color will be black in 12 point, plain Helvetica font (maps to Arial * on Win32 systems without Helvetica). */ public DateTitle() { this(DateFormat.LONG); } /** * Creates a new chart title that displays the current date with the specified style * (for the default locale). *
* The date style should be one of:
SHORT,MEDIUM, *LONGorFULL(defined injava.util.DateFormat). * * @param style the date style. */ public DateTitle(int style) { this(style, Locale.getDefault(), new Font("Dialog", Font.PLAIN, 12), Color.black); } /** * Creates a new chart title that displays the current date. ** The date style should be one of:
SHORT,MEDIUM, *LONGorFULL(defined injava.util.DateFormat). ** For the locale, you can use
Locale.getDefault()for the default locale. * * @param style the date style. * @param locale the locale. * @param font the font. * @param paint the text color. */ public DateTitle(int style, Locale locale, Font font, Paint paint) { this(style, locale, font, paint, AbstractTitle.BOTTOM, AbstractTitle.RIGHT, AbstractTitle.MIDDLE, AbstractTitle.DEFAULT_SPACER); } /** * Creates a new chart title that displays the current date. ** The date style should be one of:
SHORT,MEDIUM, *LONGorFULL(defined injava.util.DateFormat). ** For the locale, you can use
Locale.getDefault()for the default locale. * * @param style the date style. * @param locale the locale. * @param font the font. * @param paint the text color. * @param position the relative location of this title (use constants in AbstractTitle). * @param horizontalAlignment the horizontal text alignment of this title (use constants * in AbstractTitle). * @param verticalAlignment the vertical text alignment of this title (use constants in * AbstractTitle). * @param spacer determines the blank space around the outside of the title. */ public DateTitle(int style, Locale locale, Font font, Paint paint, int position, int horizontalAlignment, int verticalAlignment, Spacer spacer) { super(DateFormat.getDateInstance(style, locale).format(new Date()), font, paint, position, horizontalAlignment, verticalAlignment, spacer); } /** * Set the format of the date. ** The date style should be one of:
SHORT,MEDIUM, *LONGorFULL(defined injava.util.DateFormat). ** For the locale, you can use
Locale.getDefault()for the default locale. * * @param style the date style. * @param locale the locale. */ public void setDateFormat(int style, Locale locale) { setText(DateFormat.getDateInstance(style, locale).format(new Date())); } }