Java 向 JCalendar 添加图标
Java add icon to JCalendar
我正在尝试将特定日期的图标添加到 JCalendar
中,但我做不到。
我该怎么做?
我有这个代码:
final JCalendar calendar = new JCalendar();
JDayChooser day= calendar.getDayChooser();
day.setAlwaysFireDayProperty(true);
day.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
//put icon here
ImageIcon icon = new ImageIcon("icon.png");
JLabel label = new JLabel(icon);
day.add(label);
}
编辑: 一天就要图标了
不支持向 JDayChooser
的按钮添加图标。您必须扩展 JDayChooser
并修改名为 days
的受保护数组中的按钮之一。由于面板已经相当拥挤,我不确定效果是否吸引人。
或者,实现 IDateEvaluator
接口并更改所选日期的颜色,如 here, here 和分发中的其他实现 classes 所示; class com.toedter.calendar.demo.BirthdayEvaluator
说明了该方法。
public boolean isSpecial(Date date) {
calendar.setTime(date);
return calendar.get(Calendar.MONTH) == yourSpecialMonth
&& calendar.get(Calendar.DAY_OF_MONTH) == yourSpecialDay;
}
public Color getSpecialForegroundColor() {
return yourSpecialForegroundColor;
}
public Color getSpecialBackroundColor() {
return yourSpecialBackroundColor;
}
我正在尝试将特定日期的图标添加到 JCalendar
中,但我做不到。
我该怎么做?
我有这个代码:
final JCalendar calendar = new JCalendar();
JDayChooser day= calendar.getDayChooser();
day.setAlwaysFireDayProperty(true);
day.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
//put icon here
ImageIcon icon = new ImageIcon("icon.png");
JLabel label = new JLabel(icon);
day.add(label);
}
编辑: 一天就要图标了
不支持向 JDayChooser
的按钮添加图标。您必须扩展 JDayChooser
并修改名为 days
的受保护数组中的按钮之一。由于面板已经相当拥挤,我不确定效果是否吸引人。
或者,实现 IDateEvaluator
接口并更改所选日期的颜色,如 here, here 和分发中的其他实现 classes 所示; class com.toedter.calendar.demo.BirthdayEvaluator
说明了该方法。
public boolean isSpecial(Date date) {
calendar.setTime(date);
return calendar.get(Calendar.MONTH) == yourSpecialMonth
&& calendar.get(Calendar.DAY_OF_MONTH) == yourSpecialDay;
}
public Color getSpecialForegroundColor() {
return yourSpecialForegroundColor;
}
public Color getSpecialBackroundColor() {
return yourSpecialBackroundColor;
}