KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jfree > chart > title > DateTitle


1 /* ===========================================================
2  * JFreeChart : a free chart library for the Java(tm) platform
3  * ===========================================================
4  *
5  * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
6  *
7  * Project Info: http://www.jfree.org/jfreechart/index.html
8  *
9  * This library is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17  * License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
22  * USA.
23  *
24  * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
25  * in the United States and other countries.]
26  *
27  * --------------
28  * DateTitle.java
29  * --------------
30  * (C) Copyright 2000-2005, by David Berry and Contributors.
31  *
32  * Original Author: David Berry;
33  * Contributor(s): David Gilbert (for Object Refinery Limited);
34  *
35  * $Id: DateTitle.java,v 1.3.2.1 2005/10/25 20:58:34 mungady Exp $
36  *
37  * Changes (from 18-Sep-2001)
38  * --------------------------
39  * 18-Sep-2001 : Added standard header (DG);
40  * 09-Jan-2002 : Updated Javadoc comments (DG);
41  * 07-Feb-2002 : Changed blank space around title from Insets --> Spacer, to
42  * allow for relative or absolute spacing (DG);
43  * 26-Sep-2002 : Fixed errors reported by Checkstyle (DG);
44  * 31-Jan-2005 : Updated for changes to super class (DG);
45  *
46  */

47
48 package org.jfree.chart.title;
49
50 import java.awt.Color JavaDoc;
51 import java.awt.Font JavaDoc;
52 import java.awt.Paint JavaDoc;
53 import java.io.Serializable JavaDoc;
54 import java.text.DateFormat JavaDoc;
55 import java.util.Date JavaDoc;
56 import java.util.Locale JavaDoc;
57
58 import org.jfree.ui.HorizontalAlignment;
59 import org.jfree.ui.RectangleEdge;
60 import org.jfree.ui.RectangleInsets;
61 import org.jfree.ui.VerticalAlignment;
62
63 /**
64  * A chart title that displays the date.
65  * <p>
66  * Keep in mind that a chart can have several titles, and that they can appear
67  * at the top, left, right or bottom of the chart - a <code>DateTitle</code>
68  * will commonly appear at the bottom of a chart, although you can place it
69  * anywhere.
70  * <P>
71  * By specifying the locale, dates are formatted to the correct standard for
72  * the given locale. For example, a date would appear as "January 17, 2000" in
73  * the US, but "17 January 2000" in most European locales.
74  *
75  * @author David Berry
76  */

77 public class DateTitle extends TextTitle implements Serializable JavaDoc {
78
79     /** For serialization. */
80     private static final long serialVersionUID = -465434812763159881L;
81     
82     /**
83      * Creates a new chart title that displays the current date in the default
84      * (LONG) format for the locale, positioned to the bottom right of the
85      * chart.
86      * <P>
87      * The color will be black in 12 point, plain Helvetica font (maps to Arial
88      * on Win32 systems without Helvetica).
89      */

90     public DateTitle() {
91
92         this(DateFormat.LONG);
93
94     }
95
96     /**
97      * Creates a new chart title that displays the current date with the
98      * specified style (for the default locale).
99      * <P>
100      * The date style should be one of: <code>SHORT</code>,
101      * <code>MEDIUM</code>, <code>LONG</code> or <code>FULL</code>
102      * (defined in <code>java.util.DateFormat<code>).
103      *
104      * @param style the date style.
105      */

106     public DateTitle(int style) {
107         this(
108             style, Locale.getDefault(),
109             new Font JavaDoc("Dialog", Font.PLAIN, 12), Color.black
110         );
111     }
112
113     /**
114      * Creates a new chart title that displays the current date.
115      * <p>
116      * The date style should be one of: <code>SHORT</code>,
117      * <code>MEDIUM</code>, <code>LONG</code> or <code>FULL</code> (defined
118      * in <code>java.util.DateFormat<code>).
119      * <P>
120      * For the locale, you can use <code>Locale.getDefault()</code> for the
121      * default locale.
122      *
123      * @param style the date style.
124      * @param locale the locale.
125      * @param font the font.
126      * @param paint the text color.
127      */

128     public DateTitle(int style, Locale JavaDoc locale, Font JavaDoc font, Paint JavaDoc paint) {
129         this(
130             style, locale, font, paint,
131             RectangleEdge.BOTTOM,
132             HorizontalAlignment.RIGHT,
133             VerticalAlignment.CENTER,
134             Title.DEFAULT_PADDING
135         );
136     }
137
138     /**
139      * Creates a new chart title that displays the current date.
140      * <p>
141      * The date style should be one of: <code>SHORT</code>,
142      * <code>MEDIUM</code>, <code>LONG</code> or <code>FULL</code> (defined
143      * in <code>java.util.DateFormat<code>).
144      * <P>
145      * For the locale, you can use <code>Locale.getDefault()</code> for the
146      * default locale.
147      *
148      * @param style the date style.
149      * @param locale the locale.
150      * @param font the font (not null).
151      * @param paint the text color (not null).
152      * @param position the relative location of this title (use constants in
153      * Title).
154      * @param horizontalAlignment the horizontal text alignment of this title
155      * (use constants in Title).
156      * @param verticalAlignment the vertical text alignment of this title (use
157      * constants in Title).
158      * @param padding determines the blank space around the outside of the
159      * title (not null).
160      */

161     public DateTitle(int style, Locale JavaDoc locale, Font JavaDoc font, Paint JavaDoc paint,
162                      RectangleEdge position,
163                      HorizontalAlignment horizontalAlignment,
164                      VerticalAlignment verticalAlignment,
165                      RectangleInsets padding) {
166         super(
167             DateFormat.getDateInstance(style, locale).format(new Date JavaDoc()),
168             font, paint,
169             position, horizontalAlignment, verticalAlignment,
170             padding
171         );
172     }
173
174     /**
175      * Set the format of the date.
176      * <P>
177      * The date style should be one of: <code>SHORT</code>,
178      * <code>MEDIUM</code>, <code>LONG</code> or <code>FULL</code> (defined
179      * in <code>java.util.DateFormat<code>).
180      * <P>
181      * For the locale, you can use <code>Locale.getDefault()</code> for the
182      * default locale.
183      *
184      * @param style the date style.
185      * @param locale the locale.
186      */

187     public void setDateFormat(int style, Locale JavaDoc locale) {
188         setText(DateFormat.getDateInstance(style, locale).format(new Date JavaDoc()));
189     }
190
191 }
192
Popular Tags