📄 jcalendar.java
字号:
*
* @param c
* the new calendar
* @throws NullPointerException -
* if c is null;
* @see #getCalendar
*/
public void setCalendar(Calendar c) {
setCalendar(c, true);
}
/**
* Sets the calendar attribute of the JCalendar object
*
* @param c
* the new calendar value
* @param update
* the new calendar value
* @throws NullPointerException -
* if c is null;
*/
private void setCalendar(Calendar c, boolean update) {
if (c == null) {
setDate(null);
}
Calendar oldCalendar = calendar;
calendar = c;
if (update) {
// Thanks to Jeff Ulmer for correcting a bug in the sequence :)
yearChooser.setYear(c.get(Calendar.YEAR));
monthChooser.setMonth(c.get(Calendar.MONTH));
dayChooser.setDay(c.get(Calendar.DATE));
}
firePropertyChange("calendar", oldCalendar, calendar);
}
/**
* Enable or disable the JCalendar.
*
* @param enabled
* the new enabled value
*/
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
if (dayChooser != null) {
dayChooser.setEnabled(enabled);
monthChooser.setEnabled(enabled);
yearChooser.setEnabled(enabled);
}
}
/**
* Returns true, if enabled.
*
* @return true, if enabled.
*/
public boolean isEnabled() {
return super.isEnabled();
}
/**
* Sets the font property.
*
* @param font
* the new font
*/
public void setFont(Font font) {
super.setFont(font);
if (dayChooser != null) {
dayChooser.setFont(font);
monthChooser.setFont(font);
yearChooser.setFont(font);
}
}
/**
* Sets the foreground color.
*
* @param fg
* the new foreground
*/
public void setForeground(Color fg) {
super.setForeground(fg);
if (dayChooser != null) {
dayChooser.setForeground(fg);
monthChooser.setForeground(fg);
yearChooser.setForeground(fg);
}
}
/**
* Sets the locale property. This is a bound property.
*
* @param l
* the new locale value
*
* @see #getLocale
*/
public void setLocale(Locale l) {
if (!initialized) {
super.setLocale(l);
} else {
Locale oldLocale = locale;
locale = l;
dayChooser.setLocale(locale);
monthChooser.setLocale(locale);
firePropertyChange("locale", oldLocale, locale);
}
}
/**
* Sets the week of year visible.
*
* @param weekOfYearVisible
* true, if weeks of year shall be visible
*/
public void setWeekOfYearVisible(boolean weekOfYearVisible) {
dayChooser.setWeekOfYearVisible(weekOfYearVisible);
setLocale(locale); // hack for doing complete new layout :)
}
/**
* Gets the visibility of the decoration background.
*
* @return true, if the decoration background is visible.
*/
public boolean isDecorationBackgroundVisible() {
return dayChooser.isDecorationBackgroundVisible();
}
/**
* Sets the decoration background visible.
*
* @param decorationBackgroundVisible
* true, if the decoration background should be visible.
*/
public void setDecorationBackgroundVisible(boolean decorationBackgroundVisible) {
dayChooser.setDecorationBackgroundVisible(decorationBackgroundVisible);
setLocale(locale); // hack for doing complete new layout :)
}
/**
* Gets the visibility of the decoration border.
*
* @return true, if the decoration border is visible.
*/
public boolean isDecorationBordersVisible() {
return dayChooser.isDecorationBordersVisible();
}
/**
* Sets the decoration borders visible.
*
* @param decorationBordersVisible
* true, if the decoration borders should be visible.
*/
public void setDecorationBordersVisible(boolean decorationBordersVisible) {
dayChooser.setDecorationBordersVisible(decorationBordersVisible);
setLocale(locale); // hack for doing complete new layout :)
}
/**
* Returns the color of the decoration (day names and weeks).
*
* @return the color of the decoration (day names and weeks).
*/
public Color getDecorationBackgroundColor() {
return dayChooser.getDecorationBackgroundColor();
}
/**
* Sets the background of days and weeks of year buttons.
*
* @param decorationBackgroundColor
* the background color
*/
public void setDecorationBackgroundColor(Color decorationBackgroundColor) {
dayChooser.setDecorationBackgroundColor(decorationBackgroundColor);
}
/**
* Returns the Sunday foreground.
*
* @return Color the Sunday foreground.
*/
public Color getSundayForeground() {
return dayChooser.getSundayForeground();
}
/**
* Returns the weekday foreground.
*
* @return Color the weekday foreground.
*/
public Color getWeekdayForeground() {
return dayChooser.getWeekdayForeground();
}
/**
* Sets the Sunday foreground.
*
* @param sundayForeground
* the sundayForeground to set
*/
public void setSundayForeground(Color sundayForeground) {
dayChooser.setSundayForeground(sundayForeground);
}
/**
* Sets the weekday foreground.
*
* @param weekdayForeground
* the weekdayForeground to set
*/
public void setWeekdayForeground(Color weekdayForeground) {
dayChooser.setWeekdayForeground(weekdayForeground);
}
/**
* Returns a Date object.
*
* @return a date object constructed from the calendar property.
*/
public Date getDate() {
return new Date(calendar.getTimeInMillis());
}
/**
* Sets the date. Fires the property change "date".
*
* @param date
* the new date.
* @throws NullPointerException -
* if tha date is null
*/
public void setDate(Date date) {
Date oldDate = calendar.getTime();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
yearChooser.setYear(year);
monthChooser.setMonth(month);
dayChooser.setCalendar(calendar);
dayChooser.setDay(day);
firePropertyChange("date", oldDate, date);
}
/**
* Sets a valid date range for selectable dates. If max is before
* min, the default range with no limitation is set.
*
* @param min
* the minimum selectable date or null (then the minimum date is
* set to 01\01\0001)
* @param max
* the maximum selectable date or null (then the maximum date is
* set to 01\01\9999)
*/
public void setSelectableDateRange(Date min, Date max) {
dayChooser.setSelectableDateRange(min, max);
};
/**
* Gets the minimum selectable date.
*
* @return the minimum selectable date
*/
public Date getMaxSelectableDate() {
return dayChooser.getMaxSelectableDate();
}
/**
* Gets the maximum selectable date.
*
* @return the maximum selectable date
*/
public Date getMinSelectableDate() {
return dayChooser.getMinSelectableDate();
}
/**
* Sets the maximum selectable date.
*
* @param max maximum selectable date
*/
public void setMaxSelectableDate(Date max) {
dayChooser.setMaxSelectableDate(max);
}
/**
* Sets the minimum selectable date.
*
* @param min minimum selectable date
*/
public void setMinSelectableDate(Date min) {
dayChooser.setMinSelectableDate(min);
}
/**
* Gets the maximum number of characters of a day name or 0. If 0 is
* returned, dateFormatSymbols.getShortWeekdays() will be used.
*
* @return the maximum number of characters of a day name or 0.
*/
public int getMaxDayCharacters() {
return dayChooser.getMaxDayCharacters();
}
/**
* Sets the maximum number of characters per day in the day bar. Valid
* values are 0-4. If set to 0, dateFormatSymbols.getShortWeekdays() will be
* used, otherwise theses strings will be reduced to the maximum number of
* characters.
*
* @param maxDayCharacters
* the maximum number of characters of a day name.
*/
public void setMaxDayCharacters(int maxDayCharacters) {
dayChooser.setMaxDayCharacters(maxDayCharacters);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -