Guilerme
Guilerme

Reputation: 1

How to enable JCalendar buttons after using the addDateEvaluator() method in NetBens?

My problem is this. I have a JCalendar in which I disable the days I want through this method.

private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {                                         

    List<DayOfWeek> invalidDays = Arrays.asList(DayOfWeek.MONDAY, DayOfWeek.FRIDAY);
    JCalendar.getDayChooser().addDateEvaluator(new DayOfWeekEvaluator(invalidDays));
    JCalendar.setCalendar(JCalendar.getCalendar());
 
}                                        

Until then ok. Getting that way

My project

Through another method I want to enable the Jcalendar buttons again, I tried to use removeDateEvaluator().

I tried as follows:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    List<DayOfWeek> invalidDays = Arrays.asList(DayOfWeek.MONDAY, DayOfWeek.FRIDAY);
    JCalendar.getDayChooser().removeDateEvaluator(new DayOfWeekEvaluator(invalidDays));
    JCalendar.setCalendar(JCalendar.getCalendar());
 
    }  

But without success.

The DayOfWeekEvaluator class I got from the forum is below:

public class DayOfWeekEvaluator implements IDateEvaluator {

    private final List<DayOfWeek> validDaysOfWeek;

    public DayOfWeekEvaluator(List<DayOfWeek> validDaysOfWeek) {
        this.validDaysOfWeek = validDaysOfWeek;
    }

    private DayOfWeek determineDayOfWeek(Date date) {
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
        return DayOfWeek.of(convertSundayFirstToMondayFirst(dayOfWeek));
    }

    private int convertSundayFirstToMondayFirst(int sundayFirstValue) {
        // Converts from weeks that are Sunday-Saturday (1-7)
        // to weeks that are Monday-Sunday (1-7)
        if (sundayFirstValue == 1) {
            return 7;
        }
        return sundayFirstValue - 1;
    }

}

Upvotes: 0

Views: 168

Answers (0)

Related Questions