📄 jcalendar.java
字号:
if (evt.getPropertyName().equals("day")) {
c.set(Calendar.DAY_OF_MONTH,
((Integer) evt.getNewValue()).intValue());
setCalendar(c, false);
} else if (evt.getPropertyName().equals("month")) {
c.set(Calendar.MONTH, ((Integer) evt.getNewValue()).intValue());
setCalendar(c, false);
} else if (evt.getPropertyName().equals("year")) {
c.set(Calendar.YEAR, ((Integer) evt.getNewValue()).intValue());
setCalendar(c, false);
} else if (evt.getPropertyName().equals("date")) {
c.setTime((Date) evt.getNewValue());
setCalendar(c, true);
}
}
}
/**
* Sets the background color.
*
* @param bg the new background
*/
public void setBackground(Color bg) {
super.setBackground(bg);
if (dayChooser != null) {
dayChooser.setBackground(bg);
}
}
/**
* Sets the calendar property. This is a bound property.
*
* @param c the new calendar
*
* @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
*/
private void setCalendar(Calendar c, boolean update) {
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.
*/
public void setDate(Date date) {
Date oldDate = calendar.getTime();
calendar.setTime(date);
yearChooser.setYear(calendar.get(Calendar.YEAR));
monthChooser.setMonth(calendar.get(Calendar.MONTH));
dayChooser.setDay(calendar.get(Calendar.DATE));
firePropertyChange("date", oldDate, date);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -