|
swingx Version 2005-08-19 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
org.jdesktop.swingx.calendar.JXMonthView
public class JXMonthView
Component that displays a month calendar which can be used to select a day
or range of days. By default the JXMonthView
will display a
single calendar using the current month and year, using
Calendar.SUNDAY
as the first day of the week.
The JXMonthView
can be configured to display more than one
calendar at a time by calling
setPreferredCalCols
/setPreferredCalRows
. These
methods will set the preferred number of calendars to use in each
column/row. As these values change, the Dimension
returned
from getMinimumSize
and getPreferredSize
will
be updated. The following example shows how to create a 2x2 view which is
contained within a JFrame
:
JXMonthView monthView = new JXMonthView(); monthView.setPreferredCols(2); monthView.setPreferredRows(2); JFrame frame = new JFrame(); frame.getContentPane().add(monthView); frame.pack(); frame.setVisible(true);
JXMonthView
can be further configured to allow any day of the
week to be considered the first day of the week. Character
representation of those days may also be set by providing an array of
strings.
monthView.setFirstDayOfWeek(Calendar.MONDAY); monthView.setDaysOfTheWeek( new String[]{"S", "M", "T", "W", "Th", "F", "S"});
This component supports flagging days. These flagged days are displayed in a bold font. This can be used to inform the user of such things as scheduled appointment.
// Create some dates that we want to flag as being important. Calendar cal1 = Calendar.getInstance(); cal1.set(2004, 1, 1); Calendar cal2 = Calendar.getInstance(); cal2.set(2004, 1, 5); long[] flaggedDates = new long[] { cal1.getTimeInMillis(), cal2.getTimeInMillis(), System.currentTimeMillis() }; monthView.setFlaggedDates(flaggedDates);Applications may have the need to allow users to select different ranges of dates. There are four modes of selection that are supported, single, multiple, week and no selection. Once a selection is made an action is fired, with exception of the no selection mode, to inform listeners that selection has changed.
// Change the selection mode to select full weeks. monthView.setSelectionMode(JXMonthView.WEEK_INTERVAL_SELECTION); // Add an action listener that will be notified when the user // changes selection via the mouse. monthView.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println( ((JXMonthView)e.getSource()).getSelectedDateSpan()); } });
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary | |
---|---|
protected Insets |
_monthStringInsets
Insets used in determining the rectangle for the month string background. |
static int |
DAYS_IN_WEEK
|
static int |
MONTH_DOWN
Return value used to identify when the month down button is pressed. |
static int |
MONTH_UP
Return value used to identify when the month up button is pressed. |
static int |
MONTHS_IN_YEAR
|
static int |
NO_SELECTION
Mode that disallows selection of days from the calendar. |
static int |
SINGLE_INTERVAL_SELECTION
Mode that allows for selecting of multiple consecutive days. |
static int |
SINGLE_SELECTION
Mode that allows for selection of a single day. |
static String |
uiClassID
UI Class ID |
static int |
WEEK_INTERVAL_SELECTION
Mode where selections consisting of more than 7 days will snap to a full week. |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
JXMonthView()
Create a new instance of the JXMonthView class using the
month and year of the current day as the first date to display. |
|
JXMonthView(long initialTime)
Create a new instance of the JXMonthView class using the
month and year from initialTime as the first date to
display. |
Method Summary | |
---|---|
void |
addActionListener(ActionListener l)
Adds an ActionListener. |
void |
addNotify()
|
void |
ensureDateVisible(long date)
Moves the date into the visible region of the calendar. |
protected void |
fireActionPerformed()
Fires an ActionEvent to all listeners. |
String |
getActionCommand()
Returns the string currently used to identiy fired ActionEvents. |
int |
getBoxPaddingX()
Returns the padding used between days in the calendar. |
int |
getBoxPaddingY()
Returns the padding used above and below days in the calendar. |
Calendar |
getCalendar()
|
long |
getDayAt(int x,
int y)
Return a long representing the date at the specified x/y position. |
Color |
getDayForeground(int dayOfWeek)
Return the color that should be used for painting the numerical day of the week. |
String[] |
getDaysOfTheWeek()
Returns the single character representation for each day of the week. |
Color |
getDaysOfTheWeekForeground()
|
int |
getFirstDayOfWeek()
Gets what the first day of the week is; e.g., Calendar.SUNDAY in the U.S., Calendar.MONDAY
in France. |
long |
getFirstDisplayedDate()
Returns the first displayed date. |
Color |
getFlaggedDayForeground()
Return the color that should be used for painting the foreground of the flagged day. |
long |
getLastDisplayedDate()
Returns the last date able to be displayed. |
Color |
getMonthStringBackground()
Returns the color used to paint the month string background. |
Color |
getMonthStringForeground()
Returns the color used to paint the month string foreground. |
Insets |
getMonthStringInsets()
Returns a copy of the insets used to paint the month string background. |
int |
getPreferredCols()
Returns the preferred number of columns to paint calendars in. |
int |
getPreferredRows()
Returns the preferred number of rows to paint calendars in. |
Color |
getSelectedBackground()
Returns the selected background color. |
DateSpan |
getSelectedDateSpan()
Returns a date span of the selected dates. |
int |
getSelectionMode()
Returns the current selection mode for this JXMonthView. |
TimeZone |
getTimeZone()
Gets the time zone. |
Color |
getTodayBackground()
Returns the color used when painting the today background. |
MonthViewUI |
getUI()
|
String |
getUIClassID()
|
boolean |
isAntialiased()
Returns true if anti-aliased text is enabled for this component, false otherwise. |
boolean |
isFlaggedDate(long date)
Identifies whether or not the date passed is a flagged date. |
boolean |
isSelectedDate(long date)
Returns true if the specified date falls within the _startSelectedDate and _endSelectedDate range. |
boolean |
isShowingWeekNumber()
Returns whether or not this JXMonthView should display
week number. |
boolean |
isTraversable()
Returns whether or not the month view supports traversing months. |
static void |
main(String[] args)
|
void |
postActionEvent()
|
void |
removeActionListener(ActionListener l)
Removes an ActionListener. |
void |
removeNotify()
|
void |
setActionCommand(String actionCommand)
Sets the string used to identify fired ActionEvents. |
void |
setAntialiased(boolean antiAlias)
Turns on/off anti-aliased text for this component. |
void |
setBounds(Rectangle r)
Moves and resizes this component to conform to the new bounding rectangle r. |
void |
setBoxPaddingX(int boxPaddingX)
Sets the number of pixels used to pad the left and right side of a day. |
void |
setBoxPaddingY(int boxPaddingY)
Sets the number of pixels used to pad the top and bottom of a day. |
void |
setDayForeground(int dayOfWeek,
Color c)
Set the color to be used for painting the specified day of the week. |
void |
setDaysOfTheWeek(String[] days)
Sets the single character representation for each day of the week. |
void |
setDaysOfTheWeekForeground(Color c)
Sets the color used to draw the foreground of each day of the week. |
void |
setFirstDayOfWeek(int firstDayOfWeek)
Sets what the first day of the week is; e.g., Calendar.SUNDAY in US, Calendar.MONDAY
in France. |
void |
setFirstDisplayedDate(long date)
Set the first displayed date. |
void |
setFlaggedDates(long[] flaggedDates)
An array of longs defining days that should be flagged. |
void |
setFlaggedDayForeground(Color c)
Set the color to be used for painting the foregroudn of a flagged day. |
void |
setFont(Font font)
Sets the font of this component. |
void |
setMonthStringBackground(Color c)
Sets the color used to draw the background of the month string. |
void |
setMonthStringForeground(Color c)
Sets the color used to draw the foreground of the month string. |
void |
setMonthStringInsets(Insets insets)
Insets used to modify the width/height when painting the background of the month string area. |
void |
setPreferredCols(int cols)
The preferred number of columns to paint calendars. |
void |
setPreferredRows(int rows)
Sets the preferred number of rows to paint calendars. |
void |
setSelectedBackground(Color c)
Sets the selected background color to c . |
void |
setSelectedDateSpan(DateSpan dateSpan)
Selects the dates in the DateSpan. |
void |
setSelectionMode(int mode)
Set the selection mode for this JXMonthView. |
void |
setShowingWeekNumber(boolean showWeekNumber)
Set whether or not this JXMonthView will display week
numbers or not. |
void |
setTimeZone(TimeZone tz)
Sets the time zone with the given time zone value. |
void |
setTodayBackground(Color c)
Sets the color used to draw the bounding box around today. |
void |
setTraversable(boolean traversable)
Set whether or not the month view will display buttons to allow the user to traverse to previous or next months. |
void |
setUI(MonthViewUI ui)
Sets the L&F object that renders this component. |
void |
updateUI()
Resets the UI property with the value from the current look and feel. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int NO_SELECTION
public static final int SINGLE_SELECTION
public static final int SINGLE_INTERVAL_SELECTION
public static final int WEEK_INTERVAL_SELECTION
public static final int MONTH_DOWN
public static final int MONTH_UP
protected Insets _monthStringInsets
public static final String uiClassID
public static final int DAYS_IN_WEEK
public static final int MONTHS_IN_YEAR
Constructor Detail |
---|
public JXMonthView()
JXMonthView
class using the
month and year of the current day as the first date to display.
public JXMonthView(long initialTime)
JXMonthView
class using the
month and year from initialTime
as the first date to
display.
initialTime
- The first month to display.Method Detail |
---|
public MonthViewUI getUI()
public void setUI(MonthViewUI ui)
ui
- public void updateUI()
updateUI
in class JComponent
UIManager.getUI(javax.swing.JComponent)
public String getUIClassID()
getUIClassID
in class JComponent
public long getFirstDisplayedDate()
public void setFirstDisplayedDate(long date)
Calendar.DAY_OF_MONTH
field is reset to
1 and all other fields, with exception of the year and month ,
are reset to 0.
date
- The first displayed date.public long getLastDisplayedDate()
public void ensureDateVisible(long date)
date
into the visible region of the calendar.
If the date is greater than the last visible date it will become the
last visible date. While if it is less than the first visible date
it will become the first visible date.
date
- Date to make visible.public DateSpan getSelectedDateSpan()
public void setSelectedDateSpan(DateSpan dateSpan)
dateSpan
- DateSpan defining the selected dates. Passing
null
will clear the selection.public int getSelectionMode()
public void setSelectionMode(int mode) throws IllegalArgumentException
IllegalArgumentException
public boolean isSelectedDate(long date)
public boolean isFlaggedDate(long date)
date
- date which to test for flagged status
public void setFlaggedDates(long[] flaggedDates)
flaggedDates
- the dates to be flaggedpublic int getBoxPaddingX()
public void setBoxPaddingX(int boxPaddingX)
public int getBoxPaddingY()
public void setBoxPaddingY(int boxPaddingY)
public boolean isTraversable()
true
if month traversing is enabled.public void setTraversable(boolean traversable)
traversable
- set to true to enable month traversing,
false otherwise.public boolean isShowingWeekNumber()
JXMonthView
should display
week number.
true
if week numbers should be displayedpublic void setShowingWeekNumber(boolean showWeekNumber)
JXMonthView
will display week
numbers or not.
showWeekNumber
- true if week numbers should be displayed,
false otherwisepublic void setDaysOfTheWeek(String[] days) throws IllegalArgumentException, NullPointerException
Calendar.SUNDAY
.
IllegalArgumentException
- if days.length
!= DAYS_IN_WEEK
NullPointerException
- if days
== nullpublic String[] getDaysOfTheWeek()
public int getFirstDayOfWeek()
Calendar.SUNDAY
in the U.S., Calendar.MONDAY
in France.
public void setFirstDayOfWeek(int firstDayOfWeek)
Calendar.SUNDAY
in US, Calendar.MONDAY
in France.
firstDayOfWeek
- The first day of the week.Calendar
public TimeZone getTimeZone()
TimeZone
used by the JXMonthView
.public void setTimeZone(TimeZone tz)
tz
- The TimeZone
.public boolean isAntialiased()
true
if anti-aliased text is enabled,
false
otherwise.public void setAntialiased(boolean antiAlias)
antiAlias
- true
for anti-aliased text,
false
to turn it off.public Color getSelectedBackground()
public void setSelectedBackground(Color c)
c
. The default color
is 138, 173, 209 (Blue-ish)
c
- Selected background.public Color getTodayBackground()
public void setTodayBackground(Color c)
JXMonthView
component.
c
- color to setpublic Color getMonthStringBackground()
public void setMonthStringBackground(Color c)
138, 173, 209 (Blue-ish)
.
c
- color to setpublic Color getMonthStringForeground()
public void setMonthStringForeground(Color c)
Color.WHITE
.
c
- color to setpublic void setDaysOfTheWeekForeground(Color c)
c
- color to setpublic Color getDaysOfTheWeekForeground()
public void setDayForeground(int dayOfWeek, Color c)
dayOfWeek
- constant value defining the day of the week.c
- The color to be used for painting the numeric day of the week.public Color getDayForeground(int dayOfWeek)
dayOfWeek
- The day of week to get the color for.
public void setFlaggedDayForeground(Color c)
c
- The color to be used for painting.public Color getFlaggedDayForeground()
public Insets getMonthStringInsets()
public void setMonthStringInsets(Insets insets)
insets
- Insetspublic int getPreferredCols()
public void setPreferredCols(int cols)
cols
- The number of columns of calendars.public int getPreferredRows()
public void setPreferredRows(int rows)
rows
- The number of rows of calendars.public void setBounds(Rectangle r)
setBounds
in class Component
r
- The new bounding rectangle for this componentpublic void setFont(Font font)
setFont
in class JComponent
font
- The font to become this component's font; if this parameter
is null then this component will inherit the font of its parent.public void removeNotify()
removeNotify
in class JComponent
public void addNotify()
addNotify
in class JComponent
public Calendar getCalendar()
public long getDayAt(int x, int y)
x
- X positiony
- Y position
public String getActionCommand()
public void setActionCommand(String actionCommand)
actionCommand
- The string used for identifying ActionEvents.public void addActionListener(ActionListener l)
The ActionListener will receive an ActionEvent when a selection has been made.
l
- The ActionListener that is to be notifiedpublic void removeActionListener(ActionListener l)
l
- The action listener to remove.protected void fireActionPerformed()
public void postActionEvent()
public static void main(String[] args)
|
swingx Version 2005-08-19 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |